networkmanagement

package
v8.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectivityTest

type ConnectivityTest struct {
	pulumi.CustomResourceState

	// The user-supplied description of the Connectivity Test. Maximum of 512 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Required. Destination specification of the Connectivity Test.
	// You can use a combination of destination IP address, Compute
	// Engine VM instance, or VPC network to uniquely identify the
	// destination location.
	// Even if the destination IP address is not unique, the source IP
	// location is unique. Usually, the analysis can infer the destination
	// endpoint from route information.
	// If the destination you specify is a VM instance and the instance has
	// multiple network interfaces, then you must also specify either a
	// destination IP address or VPC network to identify the destination
	// interface.
	// A reachability analysis proceeds even if the destination location
	// is ambiguous. However, the result can include endpoints that you
	// don't intend to test.
	// Structure is documented below.
	Destination ConnectivityTestDestinationOutput `pulumi:"destination"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Unique name for the connectivity test.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// IP Protocol of the test. When not provided, "TCP" is assumed.
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross
	// project boundaries.
	RelatedProjects pulumi.StringArrayOutput `pulumi:"relatedProjects"`
	// Required. Source specification of the Connectivity Test.
	// You can use a combination of source IP address, virtual machine
	// (VM) instance, or Compute Engine network to uniquely identify the
	// source location.
	// Examples: If the source IP address is an internal IP address within
	// a Google Cloud Virtual Private Cloud (VPC) network, then you must
	// also specify the VPC network. Otherwise, specify the VM instance,
	// which already contains its internal IP address and VPC network
	// information.
	// If the source of the test is within an on-premises network, then
	// you must provide the destination VPC network.
	// If the source endpoint is a Compute Engine VM instance with multiple
	// network interfaces, the instance itself is not sufficient to
	// identify the endpoint. So, you must also specify the source IP
	// address or VPC network.
	// A reachability analysis proceeds even if the source location is
	// ambiguous. However, the test result may include endpoints that
	// you don't intend to test.
	// Structure is documented below.
	Source ConnectivityTestSourceOutput `pulumi:"source"`
}

A connectivity test are a static analysis of your resource configurations that enables you to evaluate connectivity to and from Google Cloud resources in your Virtual Private Cloud (VPC) network.

To get more information about ConnectivityTest, see:

* [API documentation](https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/v1/projects.locations.global.connectivityTests) * How-to Guides

## Example Usage

### Network Management Connectivity Test Instances

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := compute.NewNetwork(ctx, "vpc", &compute.NetworkArgs{
			Name: pulumi.String("conn-test-net"),
		})
		if err != nil {
			return err
		}
		debian9, err := compute.LookupImage(ctx, &compute.LookupImageArgs{
			Family:  pulumi.StringRef("debian-11"),
			Project: pulumi.StringRef("debian-cloud"),
		}, nil)
		if err != nil {
			return err
		}
		source, err := compute.NewInstance(ctx, "source", &compute.InstanceArgs{
			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
				&compute.InstanceNetworkInterfaceArgs{
					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
						&compute.InstanceNetworkInterfaceAccessConfigArgs{},
					},
					Network: vpc.ID(),
				},
			},
			Name:        pulumi.String("source-vm"),
			MachineType: pulumi.String("e2-medium"),
			BootDisk: &compute.InstanceBootDiskArgs{
				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
					Image: pulumi.String(debian9.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		destination, err := compute.NewInstance(ctx, "destination", &compute.InstanceArgs{
			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
				&compute.InstanceNetworkInterfaceArgs{
					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
						&compute.InstanceNetworkInterfaceAccessConfigArgs{},
					},
					Network: vpc.ID(),
				},
			},
			Name:        pulumi.String("dest-vm"),
			MachineType: pulumi.String("e2-medium"),
			BootDisk: &compute.InstanceBootDiskArgs{
				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
					Image: pulumi.String(debian9.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewConnectivityTest(ctx, "instance-test", &networkmanagement.ConnectivityTestArgs{
			Name: pulumi.String("conn-test-instances"),
			Source: &networkmanagement.ConnectivityTestSourceArgs{
				Instance: source.ID(),
			},
			Destination: &networkmanagement.ConnectivityTestDestinationArgs{
				Instance: destination.ID(),
			},
			Protocol: pulumi.String("TCP"),
			Labels: pulumi.StringMap{
				"env": pulumi.String("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Network Management Connectivity Test Addresses

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := compute.NewNetwork(ctx, "vpc", &compute.NetworkArgs{
			Name: pulumi.String("connectivity-vpc"),
		})
		if err != nil {
			return err
		}
		subnet, err := compute.NewSubnetwork(ctx, "subnet", &compute.SubnetworkArgs{
			Name:        pulumi.String("connectivity-vpc-subnet"),
			IpCidrRange: pulumi.String("10.0.0.0/16"),
			Region:      pulumi.String("us-central1"),
			Network:     vpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewAddress(ctx, "source-addr", &compute.AddressArgs{
			Name:        pulumi.String("src-addr"),
			Subnetwork:  subnet.ID(),
			AddressType: pulumi.String("INTERNAL"),
			Address:     pulumi.String("10.0.42.42"),
			Region:      pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewAddress(ctx, "dest-addr", &compute.AddressArgs{
			Name:        pulumi.String("dest-addr"),
			Subnetwork:  subnet.ID(),
			AddressType: pulumi.String("INTERNAL"),
			Address:     pulumi.String("10.0.43.43"),
			Region:      pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewConnectivityTest(ctx, "address-test", &networkmanagement.ConnectivityTestArgs{
			Name: pulumi.String("conn-test-addr"),
			Source: &networkmanagement.ConnectivityTestSourceArgs{
				IpAddress:   source_addr.Address,
				ProjectId:   source_addr.Project,
				Network:     vpc.ID(),
				NetworkType: pulumi.String("GCP_NETWORK"),
			},
			Destination: &networkmanagement.ConnectivityTestDestinationArgs{
				IpAddress: dest_addr.Address,
				ProjectId: dest_addr.Project,
				Network:   vpc.ID(),
			},
			Protocol: pulumi.String("UDP"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ConnectivityTest can be imported using any of these accepted formats:

* `projects/{{project}}/locations/global/connectivityTests/{{name}}`

* `{{project}}/{{name}}`

* `{{name}}`

When using the `pulumi import` command, ConnectivityTest can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:networkmanagement/connectivityTest:ConnectivityTest default projects/{{project}}/locations/global/connectivityTests/{{name}} ```

```sh $ pulumi import gcp:networkmanagement/connectivityTest:ConnectivityTest default {{project}}/{{name}} ```

```sh $ pulumi import gcp:networkmanagement/connectivityTest:ConnectivityTest default {{name}} ```

func GetConnectivityTest

func GetConnectivityTest(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectivityTestState, opts ...pulumi.ResourceOption) (*ConnectivityTest, error)

GetConnectivityTest gets an existing ConnectivityTest resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConnectivityTest

func NewConnectivityTest(ctx *pulumi.Context,
	name string, args *ConnectivityTestArgs, opts ...pulumi.ResourceOption) (*ConnectivityTest, error)

NewConnectivityTest registers a new resource with the given unique name, arguments, and options.

func (*ConnectivityTest) ElementType

func (*ConnectivityTest) ElementType() reflect.Type

func (*ConnectivityTest) ToConnectivityTestOutput

func (i *ConnectivityTest) ToConnectivityTestOutput() ConnectivityTestOutput

func (*ConnectivityTest) ToConnectivityTestOutputWithContext

func (i *ConnectivityTest) ToConnectivityTestOutputWithContext(ctx context.Context) ConnectivityTestOutput

type ConnectivityTestArgs

type ConnectivityTestArgs struct {
	// The user-supplied description of the Connectivity Test. Maximum of 512 characters.
	Description pulumi.StringPtrInput
	// Required. Destination specification of the Connectivity Test.
	// You can use a combination of destination IP address, Compute
	// Engine VM instance, or VPC network to uniquely identify the
	// destination location.
	// Even if the destination IP address is not unique, the source IP
	// location is unique. Usually, the analysis can infer the destination
	// endpoint from route information.
	// If the destination you specify is a VM instance and the instance has
	// multiple network interfaces, then you must also specify either a
	// destination IP address or VPC network to identify the destination
	// interface.
	// A reachability analysis proceeds even if the destination location
	// is ambiguous. However, the result can include endpoints that you
	// don't intend to test.
	// Structure is documented below.
	Destination ConnectivityTestDestinationInput
	// Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapInput
	// Unique name for the connectivity test.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// IP Protocol of the test. When not provided, "TCP" is assumed.
	Protocol pulumi.StringPtrInput
	// Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross
	// project boundaries.
	RelatedProjects pulumi.StringArrayInput
	// Required. Source specification of the Connectivity Test.
	// You can use a combination of source IP address, virtual machine
	// (VM) instance, or Compute Engine network to uniquely identify the
	// source location.
	// Examples: If the source IP address is an internal IP address within
	// a Google Cloud Virtual Private Cloud (VPC) network, then you must
	// also specify the VPC network. Otherwise, specify the VM instance,
	// which already contains its internal IP address and VPC network
	// information.
	// If the source of the test is within an on-premises network, then
	// you must provide the destination VPC network.
	// If the source endpoint is a Compute Engine VM instance with multiple
	// network interfaces, the instance itself is not sufficient to
	// identify the endpoint. So, you must also specify the source IP
	// address or VPC network.
	// A reachability analysis proceeds even if the source location is
	// ambiguous. However, the test result may include endpoints that
	// you don't intend to test.
	// Structure is documented below.
	Source ConnectivityTestSourceInput
}

The set of arguments for constructing a ConnectivityTest resource.

func (ConnectivityTestArgs) ElementType

func (ConnectivityTestArgs) ElementType() reflect.Type

type ConnectivityTestArray

type ConnectivityTestArray []ConnectivityTestInput

func (ConnectivityTestArray) ElementType

func (ConnectivityTestArray) ElementType() reflect.Type

func (ConnectivityTestArray) ToConnectivityTestArrayOutput

func (i ConnectivityTestArray) ToConnectivityTestArrayOutput() ConnectivityTestArrayOutput

func (ConnectivityTestArray) ToConnectivityTestArrayOutputWithContext

func (i ConnectivityTestArray) ToConnectivityTestArrayOutputWithContext(ctx context.Context) ConnectivityTestArrayOutput

type ConnectivityTestArrayInput

type ConnectivityTestArrayInput interface {
	pulumi.Input

	ToConnectivityTestArrayOutput() ConnectivityTestArrayOutput
	ToConnectivityTestArrayOutputWithContext(context.Context) ConnectivityTestArrayOutput
}

ConnectivityTestArrayInput is an input type that accepts ConnectivityTestArray and ConnectivityTestArrayOutput values. You can construct a concrete instance of `ConnectivityTestArrayInput` via:

ConnectivityTestArray{ ConnectivityTestArgs{...} }

type ConnectivityTestArrayOutput

type ConnectivityTestArrayOutput struct{ *pulumi.OutputState }

func (ConnectivityTestArrayOutput) ElementType

func (ConnectivityTestArrayOutput) Index

func (ConnectivityTestArrayOutput) ToConnectivityTestArrayOutput

func (o ConnectivityTestArrayOutput) ToConnectivityTestArrayOutput() ConnectivityTestArrayOutput

func (ConnectivityTestArrayOutput) ToConnectivityTestArrayOutputWithContext

func (o ConnectivityTestArrayOutput) ToConnectivityTestArrayOutputWithContext(ctx context.Context) ConnectivityTestArrayOutput

type ConnectivityTestDestination

type ConnectivityTestDestination struct {
	// A Compute Engine instance URI.
	Instance *string `pulumi:"instance"`
	// The IP address of the endpoint, which can be an external or
	// internal IP. An IPv6 address is only allowed when the test's
	// destination is a global load balancer VIP.
	IpAddress *string `pulumi:"ipAddress"`
	// A Compute Engine network URI.
	Network *string `pulumi:"network"`
	// The IP protocol port of the endpoint. Only applicable when
	// protocol is TCP or UDP.
	Port *int `pulumi:"port"`
	// Project ID where the endpoint is located. The Project ID can be
	// derived from the URI if you provide a VM instance or network URI.
	// The following are two cases where you must provide the project ID:
	// 1. Only the IP address is specified, and the IP address is within
	//    a GCP project. 2. When you are using Shared VPC and the IP address
	//    that you provide is from the service project. In this case, the
	//    network that the IP address resides in is defined in the host
	//    project.
	//
	// ***
	ProjectId *string `pulumi:"projectId"`
}

type ConnectivityTestDestinationArgs

type ConnectivityTestDestinationArgs struct {
	// A Compute Engine instance URI.
	Instance pulumi.StringPtrInput `pulumi:"instance"`
	// The IP address of the endpoint, which can be an external or
	// internal IP. An IPv6 address is only allowed when the test's
	// destination is a global load balancer VIP.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// A Compute Engine network URI.
	Network pulumi.StringPtrInput `pulumi:"network"`
	// The IP protocol port of the endpoint. Only applicable when
	// protocol is TCP or UDP.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Project ID where the endpoint is located. The Project ID can be
	// derived from the URI if you provide a VM instance or network URI.
	// The following are two cases where you must provide the project ID:
	// 1. Only the IP address is specified, and the IP address is within
	//    a GCP project. 2. When you are using Shared VPC and the IP address
	//    that you provide is from the service project. In this case, the
	//    network that the IP address resides in is defined in the host
	//    project.
	//
	// ***
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
}

func (ConnectivityTestDestinationArgs) ElementType

func (ConnectivityTestDestinationArgs) ToConnectivityTestDestinationOutput

func (i ConnectivityTestDestinationArgs) ToConnectivityTestDestinationOutput() ConnectivityTestDestinationOutput

func (ConnectivityTestDestinationArgs) ToConnectivityTestDestinationOutputWithContext

func (i ConnectivityTestDestinationArgs) ToConnectivityTestDestinationOutputWithContext(ctx context.Context) ConnectivityTestDestinationOutput

func (ConnectivityTestDestinationArgs) ToConnectivityTestDestinationPtrOutput

func (i ConnectivityTestDestinationArgs) ToConnectivityTestDestinationPtrOutput() ConnectivityTestDestinationPtrOutput

func (ConnectivityTestDestinationArgs) ToConnectivityTestDestinationPtrOutputWithContext

func (i ConnectivityTestDestinationArgs) ToConnectivityTestDestinationPtrOutputWithContext(ctx context.Context) ConnectivityTestDestinationPtrOutput

type ConnectivityTestDestinationInput

type ConnectivityTestDestinationInput interface {
	pulumi.Input

	ToConnectivityTestDestinationOutput() ConnectivityTestDestinationOutput
	ToConnectivityTestDestinationOutputWithContext(context.Context) ConnectivityTestDestinationOutput
}

ConnectivityTestDestinationInput is an input type that accepts ConnectivityTestDestinationArgs and ConnectivityTestDestinationOutput values. You can construct a concrete instance of `ConnectivityTestDestinationInput` via:

ConnectivityTestDestinationArgs{...}

type ConnectivityTestDestinationOutput

type ConnectivityTestDestinationOutput struct{ *pulumi.OutputState }

func (ConnectivityTestDestinationOutput) ElementType

func (ConnectivityTestDestinationOutput) Instance

A Compute Engine instance URI.

func (ConnectivityTestDestinationOutput) IpAddress

The IP address of the endpoint, which can be an external or internal IP. An IPv6 address is only allowed when the test's destination is a global load balancer VIP.

func (ConnectivityTestDestinationOutput) Network

A Compute Engine network URI.

func (ConnectivityTestDestinationOutput) Port

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

func (ConnectivityTestDestinationOutput) ProjectId

Project ID where the endpoint is located. The Project ID can be derived from the URI if you provide a VM instance or network URI. The following are two cases where you must provide the project ID:

  1. Only the IP address is specified, and the IP address is within a GCP project. 2. When you are using Shared VPC and the IP address that you provide is from the service project. In this case, the network that the IP address resides in is defined in the host project.

***

func (ConnectivityTestDestinationOutput) ToConnectivityTestDestinationOutput

func (o ConnectivityTestDestinationOutput) ToConnectivityTestDestinationOutput() ConnectivityTestDestinationOutput

func (ConnectivityTestDestinationOutput) ToConnectivityTestDestinationOutputWithContext

func (o ConnectivityTestDestinationOutput) ToConnectivityTestDestinationOutputWithContext(ctx context.Context) ConnectivityTestDestinationOutput

func (ConnectivityTestDestinationOutput) ToConnectivityTestDestinationPtrOutput

func (o ConnectivityTestDestinationOutput) ToConnectivityTestDestinationPtrOutput() ConnectivityTestDestinationPtrOutput

func (ConnectivityTestDestinationOutput) ToConnectivityTestDestinationPtrOutputWithContext

func (o ConnectivityTestDestinationOutput) ToConnectivityTestDestinationPtrOutputWithContext(ctx context.Context) ConnectivityTestDestinationPtrOutput

type ConnectivityTestDestinationPtrInput

type ConnectivityTestDestinationPtrInput interface {
	pulumi.Input

	ToConnectivityTestDestinationPtrOutput() ConnectivityTestDestinationPtrOutput
	ToConnectivityTestDestinationPtrOutputWithContext(context.Context) ConnectivityTestDestinationPtrOutput
}

ConnectivityTestDestinationPtrInput is an input type that accepts ConnectivityTestDestinationArgs, ConnectivityTestDestinationPtr and ConnectivityTestDestinationPtrOutput values. You can construct a concrete instance of `ConnectivityTestDestinationPtrInput` via:

        ConnectivityTestDestinationArgs{...}

or:

        nil

type ConnectivityTestDestinationPtrOutput

type ConnectivityTestDestinationPtrOutput struct{ *pulumi.OutputState }

func (ConnectivityTestDestinationPtrOutput) Elem

func (ConnectivityTestDestinationPtrOutput) ElementType

func (ConnectivityTestDestinationPtrOutput) Instance

A Compute Engine instance URI.

func (ConnectivityTestDestinationPtrOutput) IpAddress

The IP address of the endpoint, which can be an external or internal IP. An IPv6 address is only allowed when the test's destination is a global load balancer VIP.

func (ConnectivityTestDestinationPtrOutput) Network

A Compute Engine network URI.

func (ConnectivityTestDestinationPtrOutput) Port

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

func (ConnectivityTestDestinationPtrOutput) ProjectId

Project ID where the endpoint is located. The Project ID can be derived from the URI if you provide a VM instance or network URI. The following are two cases where you must provide the project ID:

  1. Only the IP address is specified, and the IP address is within a GCP project. 2. When you are using Shared VPC and the IP address that you provide is from the service project. In this case, the network that the IP address resides in is defined in the host project.

***

func (ConnectivityTestDestinationPtrOutput) ToConnectivityTestDestinationPtrOutput

func (o ConnectivityTestDestinationPtrOutput) ToConnectivityTestDestinationPtrOutput() ConnectivityTestDestinationPtrOutput

func (ConnectivityTestDestinationPtrOutput) ToConnectivityTestDestinationPtrOutputWithContext

func (o ConnectivityTestDestinationPtrOutput) ToConnectivityTestDestinationPtrOutputWithContext(ctx context.Context) ConnectivityTestDestinationPtrOutput

type ConnectivityTestInput

type ConnectivityTestInput interface {
	pulumi.Input

	ToConnectivityTestOutput() ConnectivityTestOutput
	ToConnectivityTestOutputWithContext(ctx context.Context) ConnectivityTestOutput
}

type ConnectivityTestMap

type ConnectivityTestMap map[string]ConnectivityTestInput

func (ConnectivityTestMap) ElementType

func (ConnectivityTestMap) ElementType() reflect.Type

func (ConnectivityTestMap) ToConnectivityTestMapOutput

func (i ConnectivityTestMap) ToConnectivityTestMapOutput() ConnectivityTestMapOutput

func (ConnectivityTestMap) ToConnectivityTestMapOutputWithContext

func (i ConnectivityTestMap) ToConnectivityTestMapOutputWithContext(ctx context.Context) ConnectivityTestMapOutput

type ConnectivityTestMapInput

type ConnectivityTestMapInput interface {
	pulumi.Input

	ToConnectivityTestMapOutput() ConnectivityTestMapOutput
	ToConnectivityTestMapOutputWithContext(context.Context) ConnectivityTestMapOutput
}

ConnectivityTestMapInput is an input type that accepts ConnectivityTestMap and ConnectivityTestMapOutput values. You can construct a concrete instance of `ConnectivityTestMapInput` via:

ConnectivityTestMap{ "key": ConnectivityTestArgs{...} }

type ConnectivityTestMapOutput

type ConnectivityTestMapOutput struct{ *pulumi.OutputState }

func (ConnectivityTestMapOutput) ElementType

func (ConnectivityTestMapOutput) ElementType() reflect.Type

func (ConnectivityTestMapOutput) MapIndex

func (ConnectivityTestMapOutput) ToConnectivityTestMapOutput

func (o ConnectivityTestMapOutput) ToConnectivityTestMapOutput() ConnectivityTestMapOutput

func (ConnectivityTestMapOutput) ToConnectivityTestMapOutputWithContext

func (o ConnectivityTestMapOutput) ToConnectivityTestMapOutputWithContext(ctx context.Context) ConnectivityTestMapOutput

type ConnectivityTestOutput

type ConnectivityTestOutput struct{ *pulumi.OutputState }

func (ConnectivityTestOutput) Description

The user-supplied description of the Connectivity Test. Maximum of 512 characters.

func (ConnectivityTestOutput) Destination

Required. Destination specification of the Connectivity Test. You can use a combination of destination IP address, Compute Engine VM instance, or VPC network to uniquely identify the destination location. Even if the destination IP address is not unique, the source IP location is unique. Usually, the analysis can infer the destination endpoint from route information. If the destination you specify is a VM instance and the instance has multiple network interfaces, then you must also specify either a destination IP address or VPC network to identify the destination interface. A reachability analysis proceeds even if the destination location is ambiguous. However, the result can include endpoints that you don't intend to test. Structure is documented below.

func (ConnectivityTestOutput) EffectiveLabels

func (o ConnectivityTestOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (ConnectivityTestOutput) ElementType

func (ConnectivityTestOutput) ElementType() reflect.Type

func (ConnectivityTestOutput) Labels

Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.

func (ConnectivityTestOutput) Name

Unique name for the connectivity test.

func (ConnectivityTestOutput) Project

func (ConnectivityTestOutput) Protocol

IP Protocol of the test. When not provided, "TCP" is assumed.

func (ConnectivityTestOutput) PulumiLabels

The combination of labels configured directly on the resource and default labels configured on the provider.

func (ConnectivityTestOutput) RelatedProjects

func (o ConnectivityTestOutput) RelatedProjects() pulumi.StringArrayOutput

Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries.

func (ConnectivityTestOutput) Source

Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test. Structure is documented below.

func (ConnectivityTestOutput) ToConnectivityTestOutput

func (o ConnectivityTestOutput) ToConnectivityTestOutput() ConnectivityTestOutput

func (ConnectivityTestOutput) ToConnectivityTestOutputWithContext

func (o ConnectivityTestOutput) ToConnectivityTestOutputWithContext(ctx context.Context) ConnectivityTestOutput

type ConnectivityTestSource

type ConnectivityTestSource struct {
	// A Compute Engine instance URI.
	Instance *string `pulumi:"instance"`
	// The IP address of the endpoint, which can be an external or
	// internal IP. An IPv6 address is only allowed when the test's
	// destination is a global load balancer VIP.
	IpAddress *string `pulumi:"ipAddress"`
	// A Compute Engine network URI.
	Network *string `pulumi:"network"`
	// Type of the network where the endpoint is located.
	// Possible values are: `GCP_NETWORK`, `NON_GCP_NETWORK`.
	NetworkType *string `pulumi:"networkType"`
	// The IP protocol port of the endpoint. Only applicable when
	// protocol is TCP or UDP.
	Port *int `pulumi:"port"`
	// Project ID where the endpoint is located. The Project ID can be
	// derived from the URI if you provide a VM instance or network URI.
	// The following are two cases where you must provide the project ID:
	// 1. Only the IP address is specified, and the IP address is
	//    within a GCP project.
	// 2. When you are using Shared VPC and the IP address
	//    that you provide is from the service project. In this case,
	//    the network that the IP address resides in is defined in the
	//    host project.
	ProjectId *string `pulumi:"projectId"`
}

type ConnectivityTestSourceArgs

type ConnectivityTestSourceArgs struct {
	// A Compute Engine instance URI.
	Instance pulumi.StringPtrInput `pulumi:"instance"`
	// The IP address of the endpoint, which can be an external or
	// internal IP. An IPv6 address is only allowed when the test's
	// destination is a global load balancer VIP.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// A Compute Engine network URI.
	Network pulumi.StringPtrInput `pulumi:"network"`
	// Type of the network where the endpoint is located.
	// Possible values are: `GCP_NETWORK`, `NON_GCP_NETWORK`.
	NetworkType pulumi.StringPtrInput `pulumi:"networkType"`
	// The IP protocol port of the endpoint. Only applicable when
	// protocol is TCP or UDP.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Project ID where the endpoint is located. The Project ID can be
	// derived from the URI if you provide a VM instance or network URI.
	// The following are two cases where you must provide the project ID:
	// 1. Only the IP address is specified, and the IP address is
	//    within a GCP project.
	// 2. When you are using Shared VPC and the IP address
	//    that you provide is from the service project. In this case,
	//    the network that the IP address resides in is defined in the
	//    host project.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
}

func (ConnectivityTestSourceArgs) ElementType

func (ConnectivityTestSourceArgs) ElementType() reflect.Type

func (ConnectivityTestSourceArgs) ToConnectivityTestSourceOutput

func (i ConnectivityTestSourceArgs) ToConnectivityTestSourceOutput() ConnectivityTestSourceOutput

func (ConnectivityTestSourceArgs) ToConnectivityTestSourceOutputWithContext

func (i ConnectivityTestSourceArgs) ToConnectivityTestSourceOutputWithContext(ctx context.Context) ConnectivityTestSourceOutput

func (ConnectivityTestSourceArgs) ToConnectivityTestSourcePtrOutput

func (i ConnectivityTestSourceArgs) ToConnectivityTestSourcePtrOutput() ConnectivityTestSourcePtrOutput

func (ConnectivityTestSourceArgs) ToConnectivityTestSourcePtrOutputWithContext

func (i ConnectivityTestSourceArgs) ToConnectivityTestSourcePtrOutputWithContext(ctx context.Context) ConnectivityTestSourcePtrOutput

type ConnectivityTestSourceInput

type ConnectivityTestSourceInput interface {
	pulumi.Input

	ToConnectivityTestSourceOutput() ConnectivityTestSourceOutput
	ToConnectivityTestSourceOutputWithContext(context.Context) ConnectivityTestSourceOutput
}

ConnectivityTestSourceInput is an input type that accepts ConnectivityTestSourceArgs and ConnectivityTestSourceOutput values. You can construct a concrete instance of `ConnectivityTestSourceInput` via:

ConnectivityTestSourceArgs{...}

type ConnectivityTestSourceOutput

type ConnectivityTestSourceOutput struct{ *pulumi.OutputState }

func (ConnectivityTestSourceOutput) ElementType

func (ConnectivityTestSourceOutput) Instance

A Compute Engine instance URI.

func (ConnectivityTestSourceOutput) IpAddress

The IP address of the endpoint, which can be an external or internal IP. An IPv6 address is only allowed when the test's destination is a global load balancer VIP.

func (ConnectivityTestSourceOutput) Network

A Compute Engine network URI.

func (ConnectivityTestSourceOutput) NetworkType

Type of the network where the endpoint is located. Possible values are: `GCP_NETWORK`, `NON_GCP_NETWORK`.

func (ConnectivityTestSourceOutput) Port

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

func (ConnectivityTestSourceOutput) ProjectId

Project ID where the endpoint is located. The Project ID can be derived from the URI if you provide a VM instance or network URI. The following are two cases where you must provide the project ID:

  1. Only the IP address is specified, and the IP address is within a GCP project.
  2. When you are using Shared VPC and the IP address that you provide is from the service project. In this case, the network that the IP address resides in is defined in the host project.

func (ConnectivityTestSourceOutput) ToConnectivityTestSourceOutput

func (o ConnectivityTestSourceOutput) ToConnectivityTestSourceOutput() ConnectivityTestSourceOutput

func (ConnectivityTestSourceOutput) ToConnectivityTestSourceOutputWithContext

func (o ConnectivityTestSourceOutput) ToConnectivityTestSourceOutputWithContext(ctx context.Context) ConnectivityTestSourceOutput

func (ConnectivityTestSourceOutput) ToConnectivityTestSourcePtrOutput

func (o ConnectivityTestSourceOutput) ToConnectivityTestSourcePtrOutput() ConnectivityTestSourcePtrOutput

func (ConnectivityTestSourceOutput) ToConnectivityTestSourcePtrOutputWithContext

func (o ConnectivityTestSourceOutput) ToConnectivityTestSourcePtrOutputWithContext(ctx context.Context) ConnectivityTestSourcePtrOutput

type ConnectivityTestSourcePtrInput

type ConnectivityTestSourcePtrInput interface {
	pulumi.Input

	ToConnectivityTestSourcePtrOutput() ConnectivityTestSourcePtrOutput
	ToConnectivityTestSourcePtrOutputWithContext(context.Context) ConnectivityTestSourcePtrOutput
}

ConnectivityTestSourcePtrInput is an input type that accepts ConnectivityTestSourceArgs, ConnectivityTestSourcePtr and ConnectivityTestSourcePtrOutput values. You can construct a concrete instance of `ConnectivityTestSourcePtrInput` via:

        ConnectivityTestSourceArgs{...}

or:

        nil

type ConnectivityTestSourcePtrOutput

type ConnectivityTestSourcePtrOutput struct{ *pulumi.OutputState }

func (ConnectivityTestSourcePtrOutput) Elem

func (ConnectivityTestSourcePtrOutput) ElementType

func (ConnectivityTestSourcePtrOutput) Instance

A Compute Engine instance URI.

func (ConnectivityTestSourcePtrOutput) IpAddress

The IP address of the endpoint, which can be an external or internal IP. An IPv6 address is only allowed when the test's destination is a global load balancer VIP.

func (ConnectivityTestSourcePtrOutput) Network

A Compute Engine network URI.

func (ConnectivityTestSourcePtrOutput) NetworkType

Type of the network where the endpoint is located. Possible values are: `GCP_NETWORK`, `NON_GCP_NETWORK`.

func (ConnectivityTestSourcePtrOutput) Port

The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.

func (ConnectivityTestSourcePtrOutput) ProjectId

Project ID where the endpoint is located. The Project ID can be derived from the URI if you provide a VM instance or network URI. The following are two cases where you must provide the project ID:

  1. Only the IP address is specified, and the IP address is within a GCP project.
  2. When you are using Shared VPC and the IP address that you provide is from the service project. In this case, the network that the IP address resides in is defined in the host project.

func (ConnectivityTestSourcePtrOutput) ToConnectivityTestSourcePtrOutput

func (o ConnectivityTestSourcePtrOutput) ToConnectivityTestSourcePtrOutput() ConnectivityTestSourcePtrOutput

func (ConnectivityTestSourcePtrOutput) ToConnectivityTestSourcePtrOutputWithContext

func (o ConnectivityTestSourcePtrOutput) ToConnectivityTestSourcePtrOutputWithContext(ctx context.Context) ConnectivityTestSourcePtrOutput

type ConnectivityTestState

type ConnectivityTestState struct {
	// The user-supplied description of the Connectivity Test. Maximum of 512 characters.
	Description pulumi.StringPtrInput
	// Required. Destination specification of the Connectivity Test.
	// You can use a combination of destination IP address, Compute
	// Engine VM instance, or VPC network to uniquely identify the
	// destination location.
	// Even if the destination IP address is not unique, the source IP
	// location is unique. Usually, the analysis can infer the destination
	// endpoint from route information.
	// If the destination you specify is a VM instance and the instance has
	// multiple network interfaces, then you must also specify either a
	// destination IP address or VPC network to identify the destination
	// interface.
	// A reachability analysis proceeds even if the destination location
	// is ambiguous. However, the result can include endpoints that you
	// don't intend to test.
	// Structure is documented below.
	Destination ConnectivityTestDestinationPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Resource labels to represent user-provided metadata. **Note**: This field is non-authoritative, and will only manage the
	// labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the
	// resource.
	Labels pulumi.StringMapInput
	// Unique name for the connectivity test.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// IP Protocol of the test. When not provided, "TCP" is assumed.
	Protocol pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross
	// project boundaries.
	RelatedProjects pulumi.StringArrayInput
	// Required. Source specification of the Connectivity Test.
	// You can use a combination of source IP address, virtual machine
	// (VM) instance, or Compute Engine network to uniquely identify the
	// source location.
	// Examples: If the source IP address is an internal IP address within
	// a Google Cloud Virtual Private Cloud (VPC) network, then you must
	// also specify the VPC network. Otherwise, specify the VM instance,
	// which already contains its internal IP address and VPC network
	// information.
	// If the source of the test is within an on-premises network, then
	// you must provide the destination VPC network.
	// If the source endpoint is a Compute Engine VM instance with multiple
	// network interfaces, the instance itself is not sufficient to
	// identify the endpoint. So, you must also specify the source IP
	// address or VPC network.
	// A reachability analysis proceeds even if the source location is
	// ambiguous. However, the test result may include endpoints that
	// you don't intend to test.
	// Structure is documented below.
	Source ConnectivityTestSourcePtrInput
}

func (ConnectivityTestState) ElementType

func (ConnectivityTestState) ElementType() reflect.Type

type VpcFlowLogsConfig added in v8.9.1

type VpcFlowLogsConfig struct {
	pulumi.CustomResourceState

	// Optional. The aggregation interval for the logs. Default value is
	// INTERVAL_5_SEC.   Possible values:  AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
	AggregationInterval pulumi.StringOutput `pulumi:"aggregationInterval"`
	// Output only. The time the config was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
	// of 512 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Optional. Export filter used to define which VPC Flow Logs should be logged.
	FilterExpr pulumi.StringPtrOutput `pulumi:"filterExpr"`
	// Optional. The value of the field must be in (0, 1]. The sampling rate
	// of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
	// sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
	// the state field instead. Default value is 1.0.
	FlowSampling pulumi.Float64Output `pulumi:"flowSampling"`
	// Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
	InterconnectAttachment pulumi.StringPtrOutput `pulumi:"interconnectAttachment"`
	// Optional. Resource labels to represent user-provided metadata.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Resource ID segment making up resource `name`. It identifies the resource
	// within its parent collection as described in https://google.aip.dev/122. See documentation
	// for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
	Location pulumi.StringOutput `pulumi:"location"`
	// Optional. Configures whether all, none or a subset of metadata fields
	// should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
	// Possible values:  METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
	Metadata pulumi.StringOutput `pulumi:"metadata"`
	// Optional. Custom metadata fields to include in the reported VPC flow
	// logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.
	MetadataFields pulumi.StringArrayOutput `pulumi:"metadataFields"`
	// Identifier. Unique name of the configuration using the form:     `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Optional. The state of the VPC Flow Log configuration. Default value
	// is ENABLED. When creating a new configuration, it must be enabled.   Possible
	State pulumi.StringOutput `pulumi:"state"`
	// Output only. The time the config was updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Required. ID of the `VpcFlowLogsConfig`.
	//
	// ***
	VpcFlowLogsConfigId pulumi.StringOutput `pulumi:"vpcFlowLogsConfigId"`
	// Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
	VpnTunnel pulumi.StringPtrOutput `pulumi:"vpnTunnel"`
}

## Example Usage

### Network Management Vpc Flow Logs Config Interconnect Full

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
			Name: pulumi.String("full-interconnect-test-network"),
		})
		if err != nil {
			return err
		}
		router, err := compute.NewRouter(ctx, "router", &compute.RouterArgs{
			Name:    pulumi.String("full-interconnect-test-router"),
			Network: network.Name,
			Bgp: &compute.RouterBgpArgs{
				Asn: pulumi.Int(16550),
			},
		})
		if err != nil {
			return err
		}
		attachment, err := compute.NewInterconnectAttachment(ctx, "attachment", &compute.InterconnectAttachmentArgs{
			Name:                   pulumi.String("full-interconnect-test-id"),
			EdgeAvailabilityDomain: pulumi.String("AVAILABILITY_DOMAIN_1"),
			Type:                   pulumi.String("PARTNER"),
			Router:                 router.ID(),
			Mtu:                    pulumi.String("1500"),
		})
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewVpcFlowLogsConfig(ctx, "interconnect-test", &networkmanagement.VpcFlowLogsConfigArgs{
			VpcFlowLogsConfigId: pulumi.String("full-interconnect-test-id"),
			Location:            pulumi.String("global"),
			InterconnectAttachment: attachment.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("projects/%v/regions/us-east4/interconnectAttachments/%v", project.Number, name), nil
			}).(pulumi.StringOutput),
			State:               pulumi.String("ENABLED"),
			AggregationInterval: pulumi.String("INTERVAL_5_SEC"),
			Description:         pulumi.String("VPC Flow Logs over a VPN Gateway."),
			FlowSampling:        pulumi.Float64(0.5),
			Metadata:            pulumi.String("INCLUDE_ALL_METADATA"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Network Management Vpc Flow Logs Config Interconnect Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
			Name: pulumi.String("basic-interconnect-test-network"),
		})
		if err != nil {
			return err
		}
		router, err := compute.NewRouter(ctx, "router", &compute.RouterArgs{
			Name:    pulumi.String("basic-interconnect-test-router"),
			Network: network.Name,
			Bgp: &compute.RouterBgpArgs{
				Asn: pulumi.Int(16550),
			},
		})
		if err != nil {
			return err
		}
		attachment, err := compute.NewInterconnectAttachment(ctx, "attachment", &compute.InterconnectAttachmentArgs{
			Name:                   pulumi.String("basic-interconnect-test-id"),
			EdgeAvailabilityDomain: pulumi.String("AVAILABILITY_DOMAIN_1"),
			Type:                   pulumi.String("PARTNER"),
			Router:                 router.ID(),
			Mtu:                    pulumi.String("1500"),
		})
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewVpcFlowLogsConfig(ctx, "interconnect-test", &networkmanagement.VpcFlowLogsConfigArgs{
			VpcFlowLogsConfigId: pulumi.String("basic-interconnect-test-id"),
			Location:            pulumi.String("global"),
			InterconnectAttachment: attachment.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("projects/%v/regions/us-east4/interconnectAttachments/%v", project.Number, name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Network Management Vpc Flow Logs Config Vpn Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
			Name: pulumi.String("basic-test-network"),
		})
		if err != nil {
			return err
		}
		targetGateway, err := compute.NewVPNGateway(ctx, "target_gateway", &compute.VPNGatewayArgs{
			Name:    pulumi.String("basic-test-gateway"),
			Network: network.ID(),
		})
		if err != nil {
			return err
		}
		vpnStaticIp, err := compute.NewAddress(ctx, "vpn_static_ip", &compute.AddressArgs{
			Name: pulumi.String("basic-test-address"),
		})
		if err != nil {
			return err
		}
		frEsp, err := compute.NewForwardingRule(ctx, "fr_esp", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("basic-test-fresp"),
			IpProtocol: pulumi.String("ESP"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		frUdp500, err := compute.NewForwardingRule(ctx, "fr_udp500", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("basic-test-fr500"),
			IpProtocol: pulumi.String("UDP"),
			PortRange:  pulumi.String("500"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		frUdp4500, err := compute.NewForwardingRule(ctx, "fr_udp4500", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("basic-test-fr4500"),
			IpProtocol: pulumi.String("UDP"),
			PortRange:  pulumi.String("4500"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		tunnel, err := compute.NewVPNTunnel(ctx, "tunnel", &compute.VPNTunnelArgs{
			Name:             pulumi.String("basic-test-tunnel"),
			PeerIp:           pulumi.String("15.0.0.120"),
			SharedSecret:     pulumi.String("a secret message"),
			TargetVpnGateway: targetGateway.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			frEsp,
			frUdp500,
			frUdp4500,
		}))
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewVpcFlowLogsConfig(ctx, "vpn-test", &networkmanagement.VpcFlowLogsConfigArgs{
			VpcFlowLogsConfigId: pulumi.String("basic-test-id"),
			Location:            pulumi.String("global"),
			VpnTunnel: tunnel.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("projects/%v/regions/us-central1/vpnTunnels/%v", project.Number, name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewRoute(ctx, "route", &compute.RouteArgs{
			Name:             pulumi.String("basic-test-route"),
			Network:          network.Name,
			DestRange:        pulumi.String("15.0.0.0/24"),
			Priority:         pulumi.Int(1000),
			NextHopVpnTunnel: tunnel.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Network Management Vpc Flow Logs Config Vpn Full

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/networkmanagement"
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		network, err := compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
			Name: pulumi.String("full-test-network"),
		})
		if err != nil {
			return err
		}
		targetGateway, err := compute.NewVPNGateway(ctx, "target_gateway", &compute.VPNGatewayArgs{
			Name:    pulumi.String("full-test-gateway"),
			Network: network.ID(),
		})
		if err != nil {
			return err
		}
		vpnStaticIp, err := compute.NewAddress(ctx, "vpn_static_ip", &compute.AddressArgs{
			Name: pulumi.String("full-test-address"),
		})
		if err != nil {
			return err
		}
		frEsp, err := compute.NewForwardingRule(ctx, "fr_esp", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("full-test-fresp"),
			IpProtocol: pulumi.String("ESP"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		frUdp500, err := compute.NewForwardingRule(ctx, "fr_udp500", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("full-test-fr500"),
			IpProtocol: pulumi.String("UDP"),
			PortRange:  pulumi.String("500"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		frUdp4500, err := compute.NewForwardingRule(ctx, "fr_udp4500", &compute.ForwardingRuleArgs{
			Name:       pulumi.String("full-test-fr4500"),
			IpProtocol: pulumi.String("UDP"),
			PortRange:  pulumi.String("4500"),
			IpAddress:  vpnStaticIp.Address,
			Target:     targetGateway.ID(),
		})
		if err != nil {
			return err
		}
		tunnel, err := compute.NewVPNTunnel(ctx, "tunnel", &compute.VPNTunnelArgs{
			Name:             pulumi.String("full-test-tunnel"),
			PeerIp:           pulumi.String("15.0.0.120"),
			SharedSecret:     pulumi.String("a secret message"),
			TargetVpnGateway: targetGateway.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			frEsp,
			frUdp500,
			frUdp4500,
		}))
		if err != nil {
			return err
		}
		_, err = networkmanagement.NewVpcFlowLogsConfig(ctx, "vpn-test", &networkmanagement.VpcFlowLogsConfigArgs{
			VpcFlowLogsConfigId: pulumi.String("full-test-id"),
			Location:            pulumi.String("global"),
			VpnTunnel: tunnel.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("projects/%v/regions/us-central1/vpnTunnels/%v", project.Number, name), nil
			}).(pulumi.StringOutput),
			State:               pulumi.String("ENABLED"),
			AggregationInterval: pulumi.String("INTERVAL_5_SEC"),
			Description:         pulumi.String("VPC Flow Logs over a VPN Gateway."),
			FlowSampling:        pulumi.Float64(0.5),
			Metadata:            pulumi.String("INCLUDE_ALL_METADATA"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewRoute(ctx, "route", &compute.RouteArgs{
			Name:             pulumi.String("full-test-route"),
			Network:          network.Name,
			DestRange:        pulumi.String("15.0.0.0/24"),
			Priority:         pulumi.Int(1000),
			NextHopVpnTunnel: tunnel.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VpcFlowLogsConfig can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}}`

* `{{project}}/{{location}}/{{vpc_flow_logs_config_id}}`

* `{{location}}/{{vpc_flow_logs_config_id}}`

When using the `pulumi import` command, VpcFlowLogsConfig can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default projects/{{project}}/locations/{{location}}/vpcFlowLogsConfigs/{{vpc_flow_logs_config_id}} ```

```sh $ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{project}}/{{location}}/{{vpc_flow_logs_config_id}} ```

```sh $ pulumi import gcp:networkmanagement/vpcFlowLogsConfig:VpcFlowLogsConfig default {{location}}/{{vpc_flow_logs_config_id}} ```

func GetVpcFlowLogsConfig added in v8.9.1

func GetVpcFlowLogsConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcFlowLogsConfigState, opts ...pulumi.ResourceOption) (*VpcFlowLogsConfig, error)

GetVpcFlowLogsConfig gets an existing VpcFlowLogsConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVpcFlowLogsConfig added in v8.9.1

func NewVpcFlowLogsConfig(ctx *pulumi.Context,
	name string, args *VpcFlowLogsConfigArgs, opts ...pulumi.ResourceOption) (*VpcFlowLogsConfig, error)

NewVpcFlowLogsConfig registers a new resource with the given unique name, arguments, and options.

func (*VpcFlowLogsConfig) ElementType added in v8.9.1

func (*VpcFlowLogsConfig) ElementType() reflect.Type

func (*VpcFlowLogsConfig) ToVpcFlowLogsConfigOutput added in v8.9.1

func (i *VpcFlowLogsConfig) ToVpcFlowLogsConfigOutput() VpcFlowLogsConfigOutput

func (*VpcFlowLogsConfig) ToVpcFlowLogsConfigOutputWithContext added in v8.9.1

func (i *VpcFlowLogsConfig) ToVpcFlowLogsConfigOutputWithContext(ctx context.Context) VpcFlowLogsConfigOutput

type VpcFlowLogsConfigArgs added in v8.9.1

type VpcFlowLogsConfigArgs struct {
	// Optional. The aggregation interval for the logs. Default value is
	// INTERVAL_5_SEC.   Possible values:  AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
	AggregationInterval pulumi.StringPtrInput
	// Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
	// of 512 characters.
	Description pulumi.StringPtrInput
	// Optional. Export filter used to define which VPC Flow Logs should be logged.
	FilterExpr pulumi.StringPtrInput
	// Optional. The value of the field must be in (0, 1]. The sampling rate
	// of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
	// sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
	// the state field instead. Default value is 1.0.
	FlowSampling pulumi.Float64PtrInput
	// Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
	InterconnectAttachment pulumi.StringPtrInput
	// Optional. Resource labels to represent user-provided metadata.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Resource ID segment making up resource `name`. It identifies the resource
	// within its parent collection as described in https://google.aip.dev/122. See documentation
	// for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
	Location pulumi.StringInput
	// Optional. Configures whether all, none or a subset of metadata fields
	// should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
	// Possible values:  METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
	Metadata pulumi.StringPtrInput
	// Optional. Custom metadata fields to include in the reported VPC flow
	// logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.
	MetadataFields pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Optional. The state of the VPC Flow Log configuration. Default value
	// is ENABLED. When creating a new configuration, it must be enabled.   Possible
	State pulumi.StringPtrInput
	// Required. ID of the `VpcFlowLogsConfig`.
	//
	// ***
	VpcFlowLogsConfigId pulumi.StringInput
	// Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
	VpnTunnel pulumi.StringPtrInput
}

The set of arguments for constructing a VpcFlowLogsConfig resource.

func (VpcFlowLogsConfigArgs) ElementType added in v8.9.1

func (VpcFlowLogsConfigArgs) ElementType() reflect.Type

type VpcFlowLogsConfigArray added in v8.9.1

type VpcFlowLogsConfigArray []VpcFlowLogsConfigInput

func (VpcFlowLogsConfigArray) ElementType added in v8.9.1

func (VpcFlowLogsConfigArray) ElementType() reflect.Type

func (VpcFlowLogsConfigArray) ToVpcFlowLogsConfigArrayOutput added in v8.9.1

func (i VpcFlowLogsConfigArray) ToVpcFlowLogsConfigArrayOutput() VpcFlowLogsConfigArrayOutput

func (VpcFlowLogsConfigArray) ToVpcFlowLogsConfigArrayOutputWithContext added in v8.9.1

func (i VpcFlowLogsConfigArray) ToVpcFlowLogsConfigArrayOutputWithContext(ctx context.Context) VpcFlowLogsConfigArrayOutput

type VpcFlowLogsConfigArrayInput added in v8.9.1

type VpcFlowLogsConfigArrayInput interface {
	pulumi.Input

	ToVpcFlowLogsConfigArrayOutput() VpcFlowLogsConfigArrayOutput
	ToVpcFlowLogsConfigArrayOutputWithContext(context.Context) VpcFlowLogsConfigArrayOutput
}

VpcFlowLogsConfigArrayInput is an input type that accepts VpcFlowLogsConfigArray and VpcFlowLogsConfigArrayOutput values. You can construct a concrete instance of `VpcFlowLogsConfigArrayInput` via:

VpcFlowLogsConfigArray{ VpcFlowLogsConfigArgs{...} }

type VpcFlowLogsConfigArrayOutput added in v8.9.1

type VpcFlowLogsConfigArrayOutput struct{ *pulumi.OutputState }

func (VpcFlowLogsConfigArrayOutput) ElementType added in v8.9.1

func (VpcFlowLogsConfigArrayOutput) Index added in v8.9.1

func (VpcFlowLogsConfigArrayOutput) ToVpcFlowLogsConfigArrayOutput added in v8.9.1

func (o VpcFlowLogsConfigArrayOutput) ToVpcFlowLogsConfigArrayOutput() VpcFlowLogsConfigArrayOutput

func (VpcFlowLogsConfigArrayOutput) ToVpcFlowLogsConfigArrayOutputWithContext added in v8.9.1

func (o VpcFlowLogsConfigArrayOutput) ToVpcFlowLogsConfigArrayOutputWithContext(ctx context.Context) VpcFlowLogsConfigArrayOutput

type VpcFlowLogsConfigInput added in v8.9.1

type VpcFlowLogsConfigInput interface {
	pulumi.Input

	ToVpcFlowLogsConfigOutput() VpcFlowLogsConfigOutput
	ToVpcFlowLogsConfigOutputWithContext(ctx context.Context) VpcFlowLogsConfigOutput
}

type VpcFlowLogsConfigMap added in v8.9.1

type VpcFlowLogsConfigMap map[string]VpcFlowLogsConfigInput

func (VpcFlowLogsConfigMap) ElementType added in v8.9.1

func (VpcFlowLogsConfigMap) ElementType() reflect.Type

func (VpcFlowLogsConfigMap) ToVpcFlowLogsConfigMapOutput added in v8.9.1

func (i VpcFlowLogsConfigMap) ToVpcFlowLogsConfigMapOutput() VpcFlowLogsConfigMapOutput

func (VpcFlowLogsConfigMap) ToVpcFlowLogsConfigMapOutputWithContext added in v8.9.1

func (i VpcFlowLogsConfigMap) ToVpcFlowLogsConfigMapOutputWithContext(ctx context.Context) VpcFlowLogsConfigMapOutput

type VpcFlowLogsConfigMapInput added in v8.9.1

type VpcFlowLogsConfigMapInput interface {
	pulumi.Input

	ToVpcFlowLogsConfigMapOutput() VpcFlowLogsConfigMapOutput
	ToVpcFlowLogsConfigMapOutputWithContext(context.Context) VpcFlowLogsConfigMapOutput
}

VpcFlowLogsConfigMapInput is an input type that accepts VpcFlowLogsConfigMap and VpcFlowLogsConfigMapOutput values. You can construct a concrete instance of `VpcFlowLogsConfigMapInput` via:

VpcFlowLogsConfigMap{ "key": VpcFlowLogsConfigArgs{...} }

type VpcFlowLogsConfigMapOutput added in v8.9.1

type VpcFlowLogsConfigMapOutput struct{ *pulumi.OutputState }

func (VpcFlowLogsConfigMapOutput) ElementType added in v8.9.1

func (VpcFlowLogsConfigMapOutput) ElementType() reflect.Type

func (VpcFlowLogsConfigMapOutput) MapIndex added in v8.9.1

func (VpcFlowLogsConfigMapOutput) ToVpcFlowLogsConfigMapOutput added in v8.9.1

func (o VpcFlowLogsConfigMapOutput) ToVpcFlowLogsConfigMapOutput() VpcFlowLogsConfigMapOutput

func (VpcFlowLogsConfigMapOutput) ToVpcFlowLogsConfigMapOutputWithContext added in v8.9.1

func (o VpcFlowLogsConfigMapOutput) ToVpcFlowLogsConfigMapOutputWithContext(ctx context.Context) VpcFlowLogsConfigMapOutput

type VpcFlowLogsConfigOutput added in v8.9.1

type VpcFlowLogsConfigOutput struct{ *pulumi.OutputState }

func (VpcFlowLogsConfigOutput) AggregationInterval added in v8.9.1

func (o VpcFlowLogsConfigOutput) AggregationInterval() pulumi.StringOutput

Optional. The aggregation interval for the logs. Default value is INTERVAL_5_SEC. Possible values: AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"

func (VpcFlowLogsConfigOutput) CreateTime added in v8.9.1

Output only. The time the config was created.

func (VpcFlowLogsConfigOutput) Description added in v8.9.1

Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum of 512 characters.

func (VpcFlowLogsConfigOutput) EffectiveLabels added in v8.9.1

func (o VpcFlowLogsConfigOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (VpcFlowLogsConfigOutput) ElementType added in v8.9.1

func (VpcFlowLogsConfigOutput) ElementType() reflect.Type

func (VpcFlowLogsConfigOutput) FilterExpr added in v8.9.1

Optional. Export filter used to define which VPC Flow Logs should be logged.

func (VpcFlowLogsConfigOutput) FlowSampling added in v8.9.1

func (o VpcFlowLogsConfigOutput) FlowSampling() pulumi.Float64Output

Optional. The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0.

func (VpcFlowLogsConfigOutput) InterconnectAttachment added in v8.9.1

func (o VpcFlowLogsConfigOutput) InterconnectAttachment() pulumi.StringPtrOutput

Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}

func (VpcFlowLogsConfigOutput) Labels added in v8.9.1

Optional. Resource labels to represent user-provided metadata.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (VpcFlowLogsConfigOutput) Location added in v8.9.1

Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.

func (VpcFlowLogsConfigOutput) Metadata added in v8.9.1

Optional. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA. Possible values: METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA

func (VpcFlowLogsConfigOutput) MetadataFields added in v8.9.1

Optional. Custom metadata fields to include in the reported VPC flow logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.

func (VpcFlowLogsConfigOutput) Name added in v8.9.1

Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`

func (VpcFlowLogsConfigOutput) Project added in v8.9.1

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (VpcFlowLogsConfigOutput) PulumiLabels added in v8.9.1

The combination of labels configured directly on the resource and default labels configured on the provider.

func (VpcFlowLogsConfigOutput) State added in v8.9.1

Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled. Possible

func (VpcFlowLogsConfigOutput) ToVpcFlowLogsConfigOutput added in v8.9.1

func (o VpcFlowLogsConfigOutput) ToVpcFlowLogsConfigOutput() VpcFlowLogsConfigOutput

func (VpcFlowLogsConfigOutput) ToVpcFlowLogsConfigOutputWithContext added in v8.9.1

func (o VpcFlowLogsConfigOutput) ToVpcFlowLogsConfigOutputWithContext(ctx context.Context) VpcFlowLogsConfigOutput

func (VpcFlowLogsConfigOutput) UpdateTime added in v8.9.1

Output only. The time the config was updated.

func (VpcFlowLogsConfigOutput) VpcFlowLogsConfigId added in v8.9.1

func (o VpcFlowLogsConfigOutput) VpcFlowLogsConfigId() pulumi.StringOutput

Required. ID of the `VpcFlowLogsConfig`.

***

func (VpcFlowLogsConfigOutput) VpnTunnel added in v8.9.1

Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}

type VpcFlowLogsConfigState added in v8.9.1

type VpcFlowLogsConfigState struct {
	// Optional. The aggregation interval for the logs. Default value is
	// INTERVAL_5_SEC.   Possible values:  AGGREGATION_INTERVAL_UNSPECIFIED INTERVAL_5_SEC INTERVAL_30_SEC INTERVAL_1_MIN INTERVAL_5_MIN INTERVAL_10_MIN INTERVAL_15_MIN"
	AggregationInterval pulumi.StringPtrInput
	// Output only. The time the config was created.
	CreateTime pulumi.StringPtrInput
	// Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum
	// of 512 characters.
	Description pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Optional. Export filter used to define which VPC Flow Logs should be logged.
	FilterExpr pulumi.StringPtrInput
	// Optional. The value of the field must be in (0, 1]. The sampling rate
	// of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
	// sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use
	// the state field instead. Default value is 1.0.
	FlowSampling pulumi.Float64PtrInput
	// Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}
	InterconnectAttachment pulumi.StringPtrInput
	// Optional. Resource labels to represent user-provided metadata.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Resource ID segment making up resource `name`. It identifies the resource
	// within its parent collection as described in https://google.aip.dev/122. See documentation
	// for resource type `networkmanagement.googleapis.com/VpcFlowLogsConfig`.
	Location pulumi.StringPtrInput
	// Optional. Configures whether all, none or a subset of metadata fields
	// should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
	// Possible values:  METADATA_UNSPECIFIED INCLUDE_ALL_METADATA EXCLUDE_ALL_METADATA CUSTOM_METADATA
	Metadata pulumi.StringPtrInput
	// Optional. Custom metadata fields to include in the reported VPC flow
	// logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.
	MetadataFields pulumi.StringArrayInput
	// Identifier. Unique name of the configuration using the form:     `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Optional. The state of the VPC Flow Log configuration. Default value
	// is ENABLED. When creating a new configuration, it must be enabled.   Possible
	State pulumi.StringPtrInput
	// Output only. The time the config was updated.
	UpdateTime pulumi.StringPtrInput
	// Required. ID of the `VpcFlowLogsConfig`.
	//
	// ***
	VpcFlowLogsConfigId pulumi.StringPtrInput
	// Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}
	VpnTunnel pulumi.StringPtrInput
}

func (VpcFlowLogsConfigState) ElementType added in v8.9.1

func (VpcFlowLogsConfigState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL