github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/networkInsightsAnalysis.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package ec2
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides a Network Insights Analysis resource. Part of the "Reachability Analyzer" service in the AWS VPC console.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			path, err := ec2.NewNetworkInsightsPath(ctx, "path", &ec2.NetworkInsightsPathArgs{
    33  //				Source:      pulumi.Any(source.Id),
    34  //				Destination: pulumi.Any(destination.Id),
    35  //				Protocol:    pulumi.String("tcp"),
    36  //			})
    37  //			if err != nil {
    38  //				return err
    39  //			}
    40  //			_, err = ec2.NewNetworkInsightsAnalysis(ctx, "analysis", &ec2.NetworkInsightsAnalysisArgs{
    41  //				NetworkInsightsPathId: path.ID(),
    42  //			})
    43  //			if err != nil {
    44  //				return err
    45  //			}
    46  //			return nil
    47  //		})
    48  //	}
    49  //
    50  // ```
    51  // <!--End PulumiCodeChooser -->
    52  //
    53  // ## Import
    54  //
    55  // Using `pulumi import`, import Network Insights Analyses using the `id`. For example:
    56  //
    57  // ```sh
    58  // $ pulumi import aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis test nia-0462085c957f11a55
    59  // ```
    60  type NetworkInsightsAnalysis struct {
    61  	pulumi.CustomResourceState
    62  
    63  	// Potential intermediate components of a feasible path. Described below.
    64  	AlternatePathHints NetworkInsightsAnalysisAlternatePathHintArrayOutput `pulumi:"alternatePathHints"`
    65  	// ARN of the Network Insights Analysis.
    66  	Arn pulumi.StringOutput `pulumi:"arn"`
    67  	// Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details.
    68  	Explanations NetworkInsightsAnalysisExplanationArrayOutput `pulumi:"explanations"`
    69  	// A list of ARNs for resources the path must traverse.
    70  	FilterInArns pulumi.StringArrayOutput `pulumi:"filterInArns"`
    71  	// The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
    72  	ForwardPathComponents NetworkInsightsAnalysisForwardPathComponentArrayOutput `pulumi:"forwardPathComponents"`
    73  	// ID of the Network Insights Path to run an analysis on.
    74  	//
    75  	// The following arguments are optional:
    76  	NetworkInsightsPathId pulumi.StringOutput `pulumi:"networkInsightsPathId"`
    77  	// Set to `true` if the destination was reachable.
    78  	PathFound pulumi.BoolOutput `pulumi:"pathFound"`
    79  	// The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
    80  	ReturnPathComponents NetworkInsightsAnalysisReturnPathComponentArrayOutput `pulumi:"returnPathComponents"`
    81  	// The date/time the analysis was started.
    82  	StartDate pulumi.StringOutput `pulumi:"startDate"`
    83  	// The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`.
    84  	Status pulumi.StringOutput `pulumi:"status"`
    85  	// A message to provide more context when the `status` is `failed`.
    86  	StatusMessage pulumi.StringOutput `pulumi:"statusMessage"`
    87  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    88  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    89  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    90  	//
    91  	// Deprecated: Please use `tags` instead.
    92  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    93  	// If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
    94  	WaitForCompletion pulumi.BoolPtrOutput `pulumi:"waitForCompletion"`
    95  	// The warning message.
    96  	WarningMessage pulumi.StringOutput `pulumi:"warningMessage"`
    97  }
    98  
    99  // NewNetworkInsightsAnalysis registers a new resource with the given unique name, arguments, and options.
   100  func NewNetworkInsightsAnalysis(ctx *pulumi.Context,
   101  	name string, args *NetworkInsightsAnalysisArgs, opts ...pulumi.ResourceOption) (*NetworkInsightsAnalysis, error) {
   102  	if args == nil {
   103  		return nil, errors.New("missing one or more required arguments")
   104  	}
   105  
   106  	if args.NetworkInsightsPathId == nil {
   107  		return nil, errors.New("invalid value for required argument 'NetworkInsightsPathId'")
   108  	}
   109  	opts = internal.PkgResourceDefaultOpts(opts)
   110  	var resource NetworkInsightsAnalysis
   111  	err := ctx.RegisterResource("aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis", name, args, &resource, opts...)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &resource, nil
   116  }
   117  
   118  // GetNetworkInsightsAnalysis gets an existing NetworkInsightsAnalysis resource's state with the given name, ID, and optional
   119  // state properties that are used to uniquely qualify the lookup (nil if not required).
   120  func GetNetworkInsightsAnalysis(ctx *pulumi.Context,
   121  	name string, id pulumi.IDInput, state *NetworkInsightsAnalysisState, opts ...pulumi.ResourceOption) (*NetworkInsightsAnalysis, error) {
   122  	var resource NetworkInsightsAnalysis
   123  	err := ctx.ReadResource("aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis", name, id, state, &resource, opts...)
   124  	if err != nil {
   125  		return nil, err
   126  	}
   127  	return &resource, nil
   128  }
   129  
   130  // Input properties used for looking up and filtering NetworkInsightsAnalysis resources.
   131  type networkInsightsAnalysisState struct {
   132  	// Potential intermediate components of a feasible path. Described below.
   133  	AlternatePathHints []NetworkInsightsAnalysisAlternatePathHint `pulumi:"alternatePathHints"`
   134  	// ARN of the Network Insights Analysis.
   135  	Arn *string `pulumi:"arn"`
   136  	// Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details.
   137  	Explanations []NetworkInsightsAnalysisExplanation `pulumi:"explanations"`
   138  	// A list of ARNs for resources the path must traverse.
   139  	FilterInArns []string `pulumi:"filterInArns"`
   140  	// The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   141  	ForwardPathComponents []NetworkInsightsAnalysisForwardPathComponent `pulumi:"forwardPathComponents"`
   142  	// ID of the Network Insights Path to run an analysis on.
   143  	//
   144  	// The following arguments are optional:
   145  	NetworkInsightsPathId *string `pulumi:"networkInsightsPathId"`
   146  	// Set to `true` if the destination was reachable.
   147  	PathFound *bool `pulumi:"pathFound"`
   148  	// The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   149  	ReturnPathComponents []NetworkInsightsAnalysisReturnPathComponent `pulumi:"returnPathComponents"`
   150  	// The date/time the analysis was started.
   151  	StartDate *string `pulumi:"startDate"`
   152  	// The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`.
   153  	Status *string `pulumi:"status"`
   154  	// A message to provide more context when the `status` is `failed`.
   155  	StatusMessage *string `pulumi:"statusMessage"`
   156  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   157  	Tags map[string]string `pulumi:"tags"`
   158  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   159  	//
   160  	// Deprecated: Please use `tags` instead.
   161  	TagsAll map[string]string `pulumi:"tagsAll"`
   162  	// If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
   163  	WaitForCompletion *bool `pulumi:"waitForCompletion"`
   164  	// The warning message.
   165  	WarningMessage *string `pulumi:"warningMessage"`
   166  }
   167  
   168  type NetworkInsightsAnalysisState struct {
   169  	// Potential intermediate components of a feasible path. Described below.
   170  	AlternatePathHints NetworkInsightsAnalysisAlternatePathHintArrayInput
   171  	// ARN of the Network Insights Analysis.
   172  	Arn pulumi.StringPtrInput
   173  	// Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details.
   174  	Explanations NetworkInsightsAnalysisExplanationArrayInput
   175  	// A list of ARNs for resources the path must traverse.
   176  	FilterInArns pulumi.StringArrayInput
   177  	// The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   178  	ForwardPathComponents NetworkInsightsAnalysisForwardPathComponentArrayInput
   179  	// ID of the Network Insights Path to run an analysis on.
   180  	//
   181  	// The following arguments are optional:
   182  	NetworkInsightsPathId pulumi.StringPtrInput
   183  	// Set to `true` if the destination was reachable.
   184  	PathFound pulumi.BoolPtrInput
   185  	// The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   186  	ReturnPathComponents NetworkInsightsAnalysisReturnPathComponentArrayInput
   187  	// The date/time the analysis was started.
   188  	StartDate pulumi.StringPtrInput
   189  	// The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`.
   190  	Status pulumi.StringPtrInput
   191  	// A message to provide more context when the `status` is `failed`.
   192  	StatusMessage pulumi.StringPtrInput
   193  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   194  	Tags pulumi.StringMapInput
   195  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   196  	//
   197  	// Deprecated: Please use `tags` instead.
   198  	TagsAll pulumi.StringMapInput
   199  	// If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
   200  	WaitForCompletion pulumi.BoolPtrInput
   201  	// The warning message.
   202  	WarningMessage pulumi.StringPtrInput
   203  }
   204  
   205  func (NetworkInsightsAnalysisState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*networkInsightsAnalysisState)(nil)).Elem()
   207  }
   208  
   209  type networkInsightsAnalysisArgs struct {
   210  	// A list of ARNs for resources the path must traverse.
   211  	FilterInArns []string `pulumi:"filterInArns"`
   212  	// ID of the Network Insights Path to run an analysis on.
   213  	//
   214  	// The following arguments are optional:
   215  	NetworkInsightsPathId string `pulumi:"networkInsightsPathId"`
   216  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   217  	Tags map[string]string `pulumi:"tags"`
   218  	// If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
   219  	WaitForCompletion *bool `pulumi:"waitForCompletion"`
   220  }
   221  
   222  // The set of arguments for constructing a NetworkInsightsAnalysis resource.
   223  type NetworkInsightsAnalysisArgs struct {
   224  	// A list of ARNs for resources the path must traverse.
   225  	FilterInArns pulumi.StringArrayInput
   226  	// ID of the Network Insights Path to run an analysis on.
   227  	//
   228  	// The following arguments are optional:
   229  	NetworkInsightsPathId pulumi.StringInput
   230  	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   231  	Tags pulumi.StringMapInput
   232  	// If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
   233  	WaitForCompletion pulumi.BoolPtrInput
   234  }
   235  
   236  func (NetworkInsightsAnalysisArgs) ElementType() reflect.Type {
   237  	return reflect.TypeOf((*networkInsightsAnalysisArgs)(nil)).Elem()
   238  }
   239  
   240  type NetworkInsightsAnalysisInput interface {
   241  	pulumi.Input
   242  
   243  	ToNetworkInsightsAnalysisOutput() NetworkInsightsAnalysisOutput
   244  	ToNetworkInsightsAnalysisOutputWithContext(ctx context.Context) NetworkInsightsAnalysisOutput
   245  }
   246  
   247  func (*NetworkInsightsAnalysis) ElementType() reflect.Type {
   248  	return reflect.TypeOf((**NetworkInsightsAnalysis)(nil)).Elem()
   249  }
   250  
   251  func (i *NetworkInsightsAnalysis) ToNetworkInsightsAnalysisOutput() NetworkInsightsAnalysisOutput {
   252  	return i.ToNetworkInsightsAnalysisOutputWithContext(context.Background())
   253  }
   254  
   255  func (i *NetworkInsightsAnalysis) ToNetworkInsightsAnalysisOutputWithContext(ctx context.Context) NetworkInsightsAnalysisOutput {
   256  	return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisOutput)
   257  }
   258  
   259  // NetworkInsightsAnalysisArrayInput is an input type that accepts NetworkInsightsAnalysisArray and NetworkInsightsAnalysisArrayOutput values.
   260  // You can construct a concrete instance of `NetworkInsightsAnalysisArrayInput` via:
   261  //
   262  //	NetworkInsightsAnalysisArray{ NetworkInsightsAnalysisArgs{...} }
   263  type NetworkInsightsAnalysisArrayInput interface {
   264  	pulumi.Input
   265  
   266  	ToNetworkInsightsAnalysisArrayOutput() NetworkInsightsAnalysisArrayOutput
   267  	ToNetworkInsightsAnalysisArrayOutputWithContext(context.Context) NetworkInsightsAnalysisArrayOutput
   268  }
   269  
   270  type NetworkInsightsAnalysisArray []NetworkInsightsAnalysisInput
   271  
   272  func (NetworkInsightsAnalysisArray) ElementType() reflect.Type {
   273  	return reflect.TypeOf((*[]*NetworkInsightsAnalysis)(nil)).Elem()
   274  }
   275  
   276  func (i NetworkInsightsAnalysisArray) ToNetworkInsightsAnalysisArrayOutput() NetworkInsightsAnalysisArrayOutput {
   277  	return i.ToNetworkInsightsAnalysisArrayOutputWithContext(context.Background())
   278  }
   279  
   280  func (i NetworkInsightsAnalysisArray) ToNetworkInsightsAnalysisArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisArrayOutput {
   281  	return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisArrayOutput)
   282  }
   283  
   284  // NetworkInsightsAnalysisMapInput is an input type that accepts NetworkInsightsAnalysisMap and NetworkInsightsAnalysisMapOutput values.
   285  // You can construct a concrete instance of `NetworkInsightsAnalysisMapInput` via:
   286  //
   287  //	NetworkInsightsAnalysisMap{ "key": NetworkInsightsAnalysisArgs{...} }
   288  type NetworkInsightsAnalysisMapInput interface {
   289  	pulumi.Input
   290  
   291  	ToNetworkInsightsAnalysisMapOutput() NetworkInsightsAnalysisMapOutput
   292  	ToNetworkInsightsAnalysisMapOutputWithContext(context.Context) NetworkInsightsAnalysisMapOutput
   293  }
   294  
   295  type NetworkInsightsAnalysisMap map[string]NetworkInsightsAnalysisInput
   296  
   297  func (NetworkInsightsAnalysisMap) ElementType() reflect.Type {
   298  	return reflect.TypeOf((*map[string]*NetworkInsightsAnalysis)(nil)).Elem()
   299  }
   300  
   301  func (i NetworkInsightsAnalysisMap) ToNetworkInsightsAnalysisMapOutput() NetworkInsightsAnalysisMapOutput {
   302  	return i.ToNetworkInsightsAnalysisMapOutputWithContext(context.Background())
   303  }
   304  
   305  func (i NetworkInsightsAnalysisMap) ToNetworkInsightsAnalysisMapOutputWithContext(ctx context.Context) NetworkInsightsAnalysisMapOutput {
   306  	return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisMapOutput)
   307  }
   308  
   309  type NetworkInsightsAnalysisOutput struct{ *pulumi.OutputState }
   310  
   311  func (NetworkInsightsAnalysisOutput) ElementType() reflect.Type {
   312  	return reflect.TypeOf((**NetworkInsightsAnalysis)(nil)).Elem()
   313  }
   314  
   315  func (o NetworkInsightsAnalysisOutput) ToNetworkInsightsAnalysisOutput() NetworkInsightsAnalysisOutput {
   316  	return o
   317  }
   318  
   319  func (o NetworkInsightsAnalysisOutput) ToNetworkInsightsAnalysisOutputWithContext(ctx context.Context) NetworkInsightsAnalysisOutput {
   320  	return o
   321  }
   322  
   323  // Potential intermediate components of a feasible path. Described below.
   324  func (o NetworkInsightsAnalysisOutput) AlternatePathHints() NetworkInsightsAnalysisAlternatePathHintArrayOutput {
   325  	return o.ApplyT(func(v *NetworkInsightsAnalysis) NetworkInsightsAnalysisAlternatePathHintArrayOutput {
   326  		return v.AlternatePathHints
   327  	}).(NetworkInsightsAnalysisAlternatePathHintArrayOutput)
   328  }
   329  
   330  // ARN of the Network Insights Analysis.
   331  func (o NetworkInsightsAnalysisOutput) Arn() pulumi.StringOutput {
   332  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   333  }
   334  
   335  // Explanation codes for an unreachable path. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Explanation.html) for details.
   336  func (o NetworkInsightsAnalysisOutput) Explanations() NetworkInsightsAnalysisExplanationArrayOutput {
   337  	return o.ApplyT(func(v *NetworkInsightsAnalysis) NetworkInsightsAnalysisExplanationArrayOutput { return v.Explanations }).(NetworkInsightsAnalysisExplanationArrayOutput)
   338  }
   339  
   340  // A list of ARNs for resources the path must traverse.
   341  func (o NetworkInsightsAnalysisOutput) FilterInArns() pulumi.StringArrayOutput {
   342  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringArrayOutput { return v.FilterInArns }).(pulumi.StringArrayOutput)
   343  }
   344  
   345  // The components in the path from source to destination. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   346  func (o NetworkInsightsAnalysisOutput) ForwardPathComponents() NetworkInsightsAnalysisForwardPathComponentArrayOutput {
   347  	return o.ApplyT(func(v *NetworkInsightsAnalysis) NetworkInsightsAnalysisForwardPathComponentArrayOutput {
   348  		return v.ForwardPathComponents
   349  	}).(NetworkInsightsAnalysisForwardPathComponentArrayOutput)
   350  }
   351  
   352  // ID of the Network Insights Path to run an analysis on.
   353  //
   354  // The following arguments are optional:
   355  func (o NetworkInsightsAnalysisOutput) NetworkInsightsPathId() pulumi.StringOutput {
   356  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.NetworkInsightsPathId }).(pulumi.StringOutput)
   357  }
   358  
   359  // Set to `true` if the destination was reachable.
   360  func (o NetworkInsightsAnalysisOutput) PathFound() pulumi.BoolOutput {
   361  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.BoolOutput { return v.PathFound }).(pulumi.BoolOutput)
   362  }
   363  
   364  // The components in the path from destination to source. See the [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_PathComponent.html) for details.
   365  func (o NetworkInsightsAnalysisOutput) ReturnPathComponents() NetworkInsightsAnalysisReturnPathComponentArrayOutput {
   366  	return o.ApplyT(func(v *NetworkInsightsAnalysis) NetworkInsightsAnalysisReturnPathComponentArrayOutput {
   367  		return v.ReturnPathComponents
   368  	}).(NetworkInsightsAnalysisReturnPathComponentArrayOutput)
   369  }
   370  
   371  // The date/time the analysis was started.
   372  func (o NetworkInsightsAnalysisOutput) StartDate() pulumi.StringOutput {
   373  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.StartDate }).(pulumi.StringOutput)
   374  }
   375  
   376  // The status of the analysis. `succeeded` means the analysis was completed, not that a path was found, for that see `pathFound`.
   377  func (o NetworkInsightsAnalysisOutput) Status() pulumi.StringOutput {
   378  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   379  }
   380  
   381  // A message to provide more context when the `status` is `failed`.
   382  func (o NetworkInsightsAnalysisOutput) StatusMessage() pulumi.StringOutput {
   383  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.StatusMessage }).(pulumi.StringOutput)
   384  }
   385  
   386  // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   387  func (o NetworkInsightsAnalysisOutput) Tags() pulumi.StringMapOutput {
   388  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   389  }
   390  
   391  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   392  //
   393  // Deprecated: Please use `tags` instead.
   394  func (o NetworkInsightsAnalysisOutput) TagsAll() pulumi.StringMapOutput {
   395  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   396  }
   397  
   398  // If enabled, the resource will wait for the Network Insights Analysis status to change to `succeeded` or `failed`. Setting this to `false` will skip the process. Default: `true`.
   399  func (o NetworkInsightsAnalysisOutput) WaitForCompletion() pulumi.BoolPtrOutput {
   400  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.BoolPtrOutput { return v.WaitForCompletion }).(pulumi.BoolPtrOutput)
   401  }
   402  
   403  // The warning message.
   404  func (o NetworkInsightsAnalysisOutput) WarningMessage() pulumi.StringOutput {
   405  	return o.ApplyT(func(v *NetworkInsightsAnalysis) pulumi.StringOutput { return v.WarningMessage }).(pulumi.StringOutput)
   406  }
   407  
   408  type NetworkInsightsAnalysisArrayOutput struct{ *pulumi.OutputState }
   409  
   410  func (NetworkInsightsAnalysisArrayOutput) ElementType() reflect.Type {
   411  	return reflect.TypeOf((*[]*NetworkInsightsAnalysis)(nil)).Elem()
   412  }
   413  
   414  func (o NetworkInsightsAnalysisArrayOutput) ToNetworkInsightsAnalysisArrayOutput() NetworkInsightsAnalysisArrayOutput {
   415  	return o
   416  }
   417  
   418  func (o NetworkInsightsAnalysisArrayOutput) ToNetworkInsightsAnalysisArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisArrayOutput {
   419  	return o
   420  }
   421  
   422  func (o NetworkInsightsAnalysisArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisOutput {
   423  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NetworkInsightsAnalysis {
   424  		return vs[0].([]*NetworkInsightsAnalysis)[vs[1].(int)]
   425  	}).(NetworkInsightsAnalysisOutput)
   426  }
   427  
   428  type NetworkInsightsAnalysisMapOutput struct{ *pulumi.OutputState }
   429  
   430  func (NetworkInsightsAnalysisMapOutput) ElementType() reflect.Type {
   431  	return reflect.TypeOf((*map[string]*NetworkInsightsAnalysis)(nil)).Elem()
   432  }
   433  
   434  func (o NetworkInsightsAnalysisMapOutput) ToNetworkInsightsAnalysisMapOutput() NetworkInsightsAnalysisMapOutput {
   435  	return o
   436  }
   437  
   438  func (o NetworkInsightsAnalysisMapOutput) ToNetworkInsightsAnalysisMapOutputWithContext(ctx context.Context) NetworkInsightsAnalysisMapOutput {
   439  	return o
   440  }
   441  
   442  func (o NetworkInsightsAnalysisMapOutput) MapIndex(k pulumi.StringInput) NetworkInsightsAnalysisOutput {
   443  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NetworkInsightsAnalysis {
   444  		return vs[0].(map[string]*NetworkInsightsAnalysis)[vs[1].(string)]
   445  	}).(NetworkInsightsAnalysisOutput)
   446  }
   447  
   448  func init() {
   449  	pulumi.RegisterInputType(reflect.TypeOf((*NetworkInsightsAnalysisInput)(nil)).Elem(), &NetworkInsightsAnalysis{})
   450  	pulumi.RegisterInputType(reflect.TypeOf((*NetworkInsightsAnalysisArrayInput)(nil)).Elem(), NetworkInsightsAnalysisArray{})
   451  	pulumi.RegisterInputType(reflect.TypeOf((*NetworkInsightsAnalysisMapInput)(nil)).Elem(), NetworkInsightsAnalysisMap{})
   452  	pulumi.RegisterOutputType(NetworkInsightsAnalysisOutput{})
   453  	pulumi.RegisterOutputType(NetworkInsightsAnalysisArrayOutput{})
   454  	pulumi.RegisterOutputType(NetworkInsightsAnalysisMapOutput{})
   455  }