dns

package
v7.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 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 DnsManagedZoneIamBinding

type DnsManagedZoneIamBinding struct {
	pulumi.CustomResourceState

	Condition DnsManagedZoneIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringOutput `pulumi:"managedZone"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud DNS ManagedZone. Each of these resources serves a different use case:

* `dns.DnsManagedZoneIamPolicy`: Authoritative. Sets the IAM policy for the managedzone and replaces any existing policy already attached. * `dns.DnsManagedZoneIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the managedzone are preserved. * `dns.DnsManagedZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedzone are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `dns.DnsManagedZoneIamPolicy`: Retrieves the IAM policy for the managedzone

> **Note:** `dns.DnsManagedZoneIamPolicy` **cannot** be used in conjunction with `dns.DnsManagedZoneIamBinding` and `dns.DnsManagedZoneIamMember` or they will fight over what your policy should be.

> **Note:** `dns.DnsManagedZoneIamBinding` resources **can be** used in conjunction with `dns.DnsManagedZoneIamMember` resources **only if** they do not grant privilege to the same role.

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/managedZones/{{managed_zone}}

* {{project}}/{{managed_zone}}

* {{managed_zone}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud DNS managedzone IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamBinding:DnsManagedZoneIamBinding editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamBinding:DnsManagedZoneIamBinding editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamBinding:DnsManagedZoneIamBinding editor projects/{{project}}/managedZones/{{managed_zone}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetDnsManagedZoneIamBinding

func GetDnsManagedZoneIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsManagedZoneIamBindingState, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamBinding, error)

GetDnsManagedZoneIamBinding gets an existing DnsManagedZoneIamBinding 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 NewDnsManagedZoneIamBinding

func NewDnsManagedZoneIamBinding(ctx *pulumi.Context,
	name string, args *DnsManagedZoneIamBindingArgs, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamBinding, error)

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

func (*DnsManagedZoneIamBinding) ElementType

func (*DnsManagedZoneIamBinding) ElementType() reflect.Type

func (*DnsManagedZoneIamBinding) ToDnsManagedZoneIamBindingOutput

func (i *DnsManagedZoneIamBinding) ToDnsManagedZoneIamBindingOutput() DnsManagedZoneIamBindingOutput

func (*DnsManagedZoneIamBinding) ToDnsManagedZoneIamBindingOutputWithContext

func (i *DnsManagedZoneIamBinding) ToDnsManagedZoneIamBindingOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingOutput

type DnsManagedZoneIamBindingArgs

type DnsManagedZoneIamBindingArgs struct {
	Condition DnsManagedZoneIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DnsManagedZoneIamBinding resource.

func (DnsManagedZoneIamBindingArgs) ElementType

type DnsManagedZoneIamBindingArray

type DnsManagedZoneIamBindingArray []DnsManagedZoneIamBindingInput

func (DnsManagedZoneIamBindingArray) ElementType

func (DnsManagedZoneIamBindingArray) ToDnsManagedZoneIamBindingArrayOutput

func (i DnsManagedZoneIamBindingArray) ToDnsManagedZoneIamBindingArrayOutput() DnsManagedZoneIamBindingArrayOutput

func (DnsManagedZoneIamBindingArray) ToDnsManagedZoneIamBindingArrayOutputWithContext

func (i DnsManagedZoneIamBindingArray) ToDnsManagedZoneIamBindingArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingArrayOutput

type DnsManagedZoneIamBindingArrayInput

type DnsManagedZoneIamBindingArrayInput interface {
	pulumi.Input

	ToDnsManagedZoneIamBindingArrayOutput() DnsManagedZoneIamBindingArrayOutput
	ToDnsManagedZoneIamBindingArrayOutputWithContext(context.Context) DnsManagedZoneIamBindingArrayOutput
}

DnsManagedZoneIamBindingArrayInput is an input type that accepts DnsManagedZoneIamBindingArray and DnsManagedZoneIamBindingArrayOutput values. You can construct a concrete instance of `DnsManagedZoneIamBindingArrayInput` via:

DnsManagedZoneIamBindingArray{ DnsManagedZoneIamBindingArgs{...} }

type DnsManagedZoneIamBindingArrayOutput

type DnsManagedZoneIamBindingArrayOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamBindingArrayOutput) ElementType

func (DnsManagedZoneIamBindingArrayOutput) Index

func (DnsManagedZoneIamBindingArrayOutput) ToDnsManagedZoneIamBindingArrayOutput

func (o DnsManagedZoneIamBindingArrayOutput) ToDnsManagedZoneIamBindingArrayOutput() DnsManagedZoneIamBindingArrayOutput

func (DnsManagedZoneIamBindingArrayOutput) ToDnsManagedZoneIamBindingArrayOutputWithContext

func (o DnsManagedZoneIamBindingArrayOutput) ToDnsManagedZoneIamBindingArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingArrayOutput

type DnsManagedZoneIamBindingCondition

type DnsManagedZoneIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DnsManagedZoneIamBindingConditionArgs

type DnsManagedZoneIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DnsManagedZoneIamBindingConditionArgs) ElementType

func (DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionOutput

func (i DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionOutput() DnsManagedZoneIamBindingConditionOutput

func (DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionOutputWithContext

func (i DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingConditionOutput

func (DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionPtrOutput

func (i DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionPtrOutput() DnsManagedZoneIamBindingConditionPtrOutput

func (DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext

func (i DnsManagedZoneIamBindingConditionArgs) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingConditionPtrOutput

type DnsManagedZoneIamBindingConditionInput

type DnsManagedZoneIamBindingConditionInput interface {
	pulumi.Input

	ToDnsManagedZoneIamBindingConditionOutput() DnsManagedZoneIamBindingConditionOutput
	ToDnsManagedZoneIamBindingConditionOutputWithContext(context.Context) DnsManagedZoneIamBindingConditionOutput
}

DnsManagedZoneIamBindingConditionInput is an input type that accepts DnsManagedZoneIamBindingConditionArgs and DnsManagedZoneIamBindingConditionOutput values. You can construct a concrete instance of `DnsManagedZoneIamBindingConditionInput` via:

DnsManagedZoneIamBindingConditionArgs{...}

type DnsManagedZoneIamBindingConditionOutput

type DnsManagedZoneIamBindingConditionOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamBindingConditionOutput) Description

func (DnsManagedZoneIamBindingConditionOutput) ElementType

func (DnsManagedZoneIamBindingConditionOutput) Expression

func (DnsManagedZoneIamBindingConditionOutput) Title

func (DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionOutput

func (o DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionOutput() DnsManagedZoneIamBindingConditionOutput

func (DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionOutputWithContext

func (o DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingConditionOutput

func (DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionPtrOutput

func (o DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionPtrOutput() DnsManagedZoneIamBindingConditionPtrOutput

func (DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext

func (o DnsManagedZoneIamBindingConditionOutput) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingConditionPtrOutput

type DnsManagedZoneIamBindingConditionPtrInput

type DnsManagedZoneIamBindingConditionPtrInput interface {
	pulumi.Input

	ToDnsManagedZoneIamBindingConditionPtrOutput() DnsManagedZoneIamBindingConditionPtrOutput
	ToDnsManagedZoneIamBindingConditionPtrOutputWithContext(context.Context) DnsManagedZoneIamBindingConditionPtrOutput
}

DnsManagedZoneIamBindingConditionPtrInput is an input type that accepts DnsManagedZoneIamBindingConditionArgs, DnsManagedZoneIamBindingConditionPtr and DnsManagedZoneIamBindingConditionPtrOutput values. You can construct a concrete instance of `DnsManagedZoneIamBindingConditionPtrInput` via:

        DnsManagedZoneIamBindingConditionArgs{...}

or:

        nil

type DnsManagedZoneIamBindingConditionPtrOutput

type DnsManagedZoneIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamBindingConditionPtrOutput) Description

func (DnsManagedZoneIamBindingConditionPtrOutput) Elem

func (DnsManagedZoneIamBindingConditionPtrOutput) ElementType

func (DnsManagedZoneIamBindingConditionPtrOutput) Expression

func (DnsManagedZoneIamBindingConditionPtrOutput) Title

func (DnsManagedZoneIamBindingConditionPtrOutput) ToDnsManagedZoneIamBindingConditionPtrOutput

func (o DnsManagedZoneIamBindingConditionPtrOutput) ToDnsManagedZoneIamBindingConditionPtrOutput() DnsManagedZoneIamBindingConditionPtrOutput

func (DnsManagedZoneIamBindingConditionPtrOutput) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext

func (o DnsManagedZoneIamBindingConditionPtrOutput) ToDnsManagedZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingConditionPtrOutput

type DnsManagedZoneIamBindingInput

type DnsManagedZoneIamBindingInput interface {
	pulumi.Input

	ToDnsManagedZoneIamBindingOutput() DnsManagedZoneIamBindingOutput
	ToDnsManagedZoneIamBindingOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingOutput
}

type DnsManagedZoneIamBindingMap

type DnsManagedZoneIamBindingMap map[string]DnsManagedZoneIamBindingInput

func (DnsManagedZoneIamBindingMap) ElementType

func (DnsManagedZoneIamBindingMap) ToDnsManagedZoneIamBindingMapOutput

func (i DnsManagedZoneIamBindingMap) ToDnsManagedZoneIamBindingMapOutput() DnsManagedZoneIamBindingMapOutput

func (DnsManagedZoneIamBindingMap) ToDnsManagedZoneIamBindingMapOutputWithContext

func (i DnsManagedZoneIamBindingMap) ToDnsManagedZoneIamBindingMapOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingMapOutput

type DnsManagedZoneIamBindingMapInput

type DnsManagedZoneIamBindingMapInput interface {
	pulumi.Input

	ToDnsManagedZoneIamBindingMapOutput() DnsManagedZoneIamBindingMapOutput
	ToDnsManagedZoneIamBindingMapOutputWithContext(context.Context) DnsManagedZoneIamBindingMapOutput
}

DnsManagedZoneIamBindingMapInput is an input type that accepts DnsManagedZoneIamBindingMap and DnsManagedZoneIamBindingMapOutput values. You can construct a concrete instance of `DnsManagedZoneIamBindingMapInput` via:

DnsManagedZoneIamBindingMap{ "key": DnsManagedZoneIamBindingArgs{...} }

type DnsManagedZoneIamBindingMapOutput

type DnsManagedZoneIamBindingMapOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamBindingMapOutput) ElementType

func (DnsManagedZoneIamBindingMapOutput) MapIndex

func (DnsManagedZoneIamBindingMapOutput) ToDnsManagedZoneIamBindingMapOutput

func (o DnsManagedZoneIamBindingMapOutput) ToDnsManagedZoneIamBindingMapOutput() DnsManagedZoneIamBindingMapOutput

func (DnsManagedZoneIamBindingMapOutput) ToDnsManagedZoneIamBindingMapOutputWithContext

func (o DnsManagedZoneIamBindingMapOutput) ToDnsManagedZoneIamBindingMapOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingMapOutput

type DnsManagedZoneIamBindingOutput

type DnsManagedZoneIamBindingOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamBindingOutput) Condition

func (DnsManagedZoneIamBindingOutput) ElementType

func (DnsManagedZoneIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (DnsManagedZoneIamBindingOutput) ManagedZone

Used to find the parent resource to bind the IAM policy to

func (DnsManagedZoneIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (DnsManagedZoneIamBindingOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (DnsManagedZoneIamBindingOutput) Role

The role that should be applied. Only one `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DnsManagedZoneIamBindingOutput) ToDnsManagedZoneIamBindingOutput

func (o DnsManagedZoneIamBindingOutput) ToDnsManagedZoneIamBindingOutput() DnsManagedZoneIamBindingOutput

func (DnsManagedZoneIamBindingOutput) ToDnsManagedZoneIamBindingOutputWithContext

func (o DnsManagedZoneIamBindingOutput) ToDnsManagedZoneIamBindingOutputWithContext(ctx context.Context) DnsManagedZoneIamBindingOutput

type DnsManagedZoneIamBindingState

type DnsManagedZoneIamBindingState struct {
	Condition DnsManagedZoneIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DnsManagedZoneIamBindingState) ElementType

type DnsManagedZoneIamMember

type DnsManagedZoneIamMember struct {
	pulumi.CustomResourceState

	Condition DnsManagedZoneIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringOutput `pulumi:"managedZone"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud DNS ManagedZone. Each of these resources serves a different use case:

* `dns.DnsManagedZoneIamPolicy`: Authoritative. Sets the IAM policy for the managedzone and replaces any existing policy already attached. * `dns.DnsManagedZoneIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the managedzone are preserved. * `dns.DnsManagedZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedzone are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `dns.DnsManagedZoneIamPolicy`: Retrieves the IAM policy for the managedzone

> **Note:** `dns.DnsManagedZoneIamPolicy` **cannot** be used in conjunction with `dns.DnsManagedZoneIamBinding` and `dns.DnsManagedZoneIamMember` or they will fight over what your policy should be.

> **Note:** `dns.DnsManagedZoneIamBinding` resources **can be** used in conjunction with `dns.DnsManagedZoneIamMember` resources **only if** they do not grant privilege to the same role.

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/managedZones/{{managed_zone}}

* {{project}}/{{managed_zone}}

* {{managed_zone}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud DNS managedzone IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamMember:DnsManagedZoneIamMember editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamMember:DnsManagedZoneIamMember editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamMember:DnsManagedZoneIamMember editor projects/{{project}}/managedZones/{{managed_zone}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetDnsManagedZoneIamMember

func GetDnsManagedZoneIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsManagedZoneIamMemberState, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamMember, error)

GetDnsManagedZoneIamMember gets an existing DnsManagedZoneIamMember 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 NewDnsManagedZoneIamMember

func NewDnsManagedZoneIamMember(ctx *pulumi.Context,
	name string, args *DnsManagedZoneIamMemberArgs, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamMember, error)

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

func (*DnsManagedZoneIamMember) ElementType

func (*DnsManagedZoneIamMember) ElementType() reflect.Type

func (*DnsManagedZoneIamMember) ToDnsManagedZoneIamMemberOutput

func (i *DnsManagedZoneIamMember) ToDnsManagedZoneIamMemberOutput() DnsManagedZoneIamMemberOutput

func (*DnsManagedZoneIamMember) ToDnsManagedZoneIamMemberOutputWithContext

func (i *DnsManagedZoneIamMember) ToDnsManagedZoneIamMemberOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberOutput

type DnsManagedZoneIamMemberArgs

type DnsManagedZoneIamMemberArgs struct {
	Condition DnsManagedZoneIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DnsManagedZoneIamMember resource.

func (DnsManagedZoneIamMemberArgs) ElementType

type DnsManagedZoneIamMemberArray

type DnsManagedZoneIamMemberArray []DnsManagedZoneIamMemberInput

func (DnsManagedZoneIamMemberArray) ElementType

func (DnsManagedZoneIamMemberArray) ToDnsManagedZoneIamMemberArrayOutput

func (i DnsManagedZoneIamMemberArray) ToDnsManagedZoneIamMemberArrayOutput() DnsManagedZoneIamMemberArrayOutput

func (DnsManagedZoneIamMemberArray) ToDnsManagedZoneIamMemberArrayOutputWithContext

func (i DnsManagedZoneIamMemberArray) ToDnsManagedZoneIamMemberArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberArrayOutput

type DnsManagedZoneIamMemberArrayInput

type DnsManagedZoneIamMemberArrayInput interface {
	pulumi.Input

	ToDnsManagedZoneIamMemberArrayOutput() DnsManagedZoneIamMemberArrayOutput
	ToDnsManagedZoneIamMemberArrayOutputWithContext(context.Context) DnsManagedZoneIamMemberArrayOutput
}

DnsManagedZoneIamMemberArrayInput is an input type that accepts DnsManagedZoneIamMemberArray and DnsManagedZoneIamMemberArrayOutput values. You can construct a concrete instance of `DnsManagedZoneIamMemberArrayInput` via:

DnsManagedZoneIamMemberArray{ DnsManagedZoneIamMemberArgs{...} }

type DnsManagedZoneIamMemberArrayOutput

type DnsManagedZoneIamMemberArrayOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamMemberArrayOutput) ElementType

func (DnsManagedZoneIamMemberArrayOutput) Index

func (DnsManagedZoneIamMemberArrayOutput) ToDnsManagedZoneIamMemberArrayOutput

func (o DnsManagedZoneIamMemberArrayOutput) ToDnsManagedZoneIamMemberArrayOutput() DnsManagedZoneIamMemberArrayOutput

func (DnsManagedZoneIamMemberArrayOutput) ToDnsManagedZoneIamMemberArrayOutputWithContext

func (o DnsManagedZoneIamMemberArrayOutput) ToDnsManagedZoneIamMemberArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberArrayOutput

type DnsManagedZoneIamMemberCondition

type DnsManagedZoneIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DnsManagedZoneIamMemberConditionArgs

type DnsManagedZoneIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DnsManagedZoneIamMemberConditionArgs) ElementType

func (DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionOutput

func (i DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionOutput() DnsManagedZoneIamMemberConditionOutput

func (DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionOutputWithContext

func (i DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberConditionOutput

func (DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionPtrOutput

func (i DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionPtrOutput() DnsManagedZoneIamMemberConditionPtrOutput

func (DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext

func (i DnsManagedZoneIamMemberConditionArgs) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberConditionPtrOutput

type DnsManagedZoneIamMemberConditionInput

type DnsManagedZoneIamMemberConditionInput interface {
	pulumi.Input

	ToDnsManagedZoneIamMemberConditionOutput() DnsManagedZoneIamMemberConditionOutput
	ToDnsManagedZoneIamMemberConditionOutputWithContext(context.Context) DnsManagedZoneIamMemberConditionOutput
}

DnsManagedZoneIamMemberConditionInput is an input type that accepts DnsManagedZoneIamMemberConditionArgs and DnsManagedZoneIamMemberConditionOutput values. You can construct a concrete instance of `DnsManagedZoneIamMemberConditionInput` via:

DnsManagedZoneIamMemberConditionArgs{...}

type DnsManagedZoneIamMemberConditionOutput

type DnsManagedZoneIamMemberConditionOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamMemberConditionOutput) Description

func (DnsManagedZoneIamMemberConditionOutput) ElementType

func (DnsManagedZoneIamMemberConditionOutput) Expression

func (DnsManagedZoneIamMemberConditionOutput) Title

func (DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionOutput

func (o DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionOutput() DnsManagedZoneIamMemberConditionOutput

func (DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionOutputWithContext

func (o DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberConditionOutput

func (DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionPtrOutput

func (o DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionPtrOutput() DnsManagedZoneIamMemberConditionPtrOutput

func (DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext

func (o DnsManagedZoneIamMemberConditionOutput) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberConditionPtrOutput

type DnsManagedZoneIamMemberConditionPtrInput

type DnsManagedZoneIamMemberConditionPtrInput interface {
	pulumi.Input

	ToDnsManagedZoneIamMemberConditionPtrOutput() DnsManagedZoneIamMemberConditionPtrOutput
	ToDnsManagedZoneIamMemberConditionPtrOutputWithContext(context.Context) DnsManagedZoneIamMemberConditionPtrOutput
}

DnsManagedZoneIamMemberConditionPtrInput is an input type that accepts DnsManagedZoneIamMemberConditionArgs, DnsManagedZoneIamMemberConditionPtr and DnsManagedZoneIamMemberConditionPtrOutput values. You can construct a concrete instance of `DnsManagedZoneIamMemberConditionPtrInput` via:

        DnsManagedZoneIamMemberConditionArgs{...}

or:

        nil

type DnsManagedZoneIamMemberConditionPtrOutput

type DnsManagedZoneIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamMemberConditionPtrOutput) Description

func (DnsManagedZoneIamMemberConditionPtrOutput) Elem

func (DnsManagedZoneIamMemberConditionPtrOutput) ElementType

func (DnsManagedZoneIamMemberConditionPtrOutput) Expression

func (DnsManagedZoneIamMemberConditionPtrOutput) Title

func (DnsManagedZoneIamMemberConditionPtrOutput) ToDnsManagedZoneIamMemberConditionPtrOutput

func (o DnsManagedZoneIamMemberConditionPtrOutput) ToDnsManagedZoneIamMemberConditionPtrOutput() DnsManagedZoneIamMemberConditionPtrOutput

func (DnsManagedZoneIamMemberConditionPtrOutput) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext

func (o DnsManagedZoneIamMemberConditionPtrOutput) ToDnsManagedZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberConditionPtrOutput

type DnsManagedZoneIamMemberInput

type DnsManagedZoneIamMemberInput interface {
	pulumi.Input

	ToDnsManagedZoneIamMemberOutput() DnsManagedZoneIamMemberOutput
	ToDnsManagedZoneIamMemberOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberOutput
}

type DnsManagedZoneIamMemberMap

type DnsManagedZoneIamMemberMap map[string]DnsManagedZoneIamMemberInput

func (DnsManagedZoneIamMemberMap) ElementType

func (DnsManagedZoneIamMemberMap) ElementType() reflect.Type

func (DnsManagedZoneIamMemberMap) ToDnsManagedZoneIamMemberMapOutput

func (i DnsManagedZoneIamMemberMap) ToDnsManagedZoneIamMemberMapOutput() DnsManagedZoneIamMemberMapOutput

func (DnsManagedZoneIamMemberMap) ToDnsManagedZoneIamMemberMapOutputWithContext

func (i DnsManagedZoneIamMemberMap) ToDnsManagedZoneIamMemberMapOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberMapOutput

type DnsManagedZoneIamMemberMapInput

type DnsManagedZoneIamMemberMapInput interface {
	pulumi.Input

	ToDnsManagedZoneIamMemberMapOutput() DnsManagedZoneIamMemberMapOutput
	ToDnsManagedZoneIamMemberMapOutputWithContext(context.Context) DnsManagedZoneIamMemberMapOutput
}

DnsManagedZoneIamMemberMapInput is an input type that accepts DnsManagedZoneIamMemberMap and DnsManagedZoneIamMemberMapOutput values. You can construct a concrete instance of `DnsManagedZoneIamMemberMapInput` via:

DnsManagedZoneIamMemberMap{ "key": DnsManagedZoneIamMemberArgs{...} }

type DnsManagedZoneIamMemberMapOutput

type DnsManagedZoneIamMemberMapOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamMemberMapOutput) ElementType

func (DnsManagedZoneIamMemberMapOutput) MapIndex

func (DnsManagedZoneIamMemberMapOutput) ToDnsManagedZoneIamMemberMapOutput

func (o DnsManagedZoneIamMemberMapOutput) ToDnsManagedZoneIamMemberMapOutput() DnsManagedZoneIamMemberMapOutput

func (DnsManagedZoneIamMemberMapOutput) ToDnsManagedZoneIamMemberMapOutputWithContext

func (o DnsManagedZoneIamMemberMapOutput) ToDnsManagedZoneIamMemberMapOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberMapOutput

type DnsManagedZoneIamMemberOutput

type DnsManagedZoneIamMemberOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamMemberOutput) Condition

func (DnsManagedZoneIamMemberOutput) ElementType

func (DnsManagedZoneIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (DnsManagedZoneIamMemberOutput) ManagedZone

Used to find the parent resource to bind the IAM policy to

func (DnsManagedZoneIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (DnsManagedZoneIamMemberOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (DnsManagedZoneIamMemberOutput) Role

The role that should be applied. Only one `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DnsManagedZoneIamMemberOutput) ToDnsManagedZoneIamMemberOutput

func (o DnsManagedZoneIamMemberOutput) ToDnsManagedZoneIamMemberOutput() DnsManagedZoneIamMemberOutput

func (DnsManagedZoneIamMemberOutput) ToDnsManagedZoneIamMemberOutputWithContext

func (o DnsManagedZoneIamMemberOutput) ToDnsManagedZoneIamMemberOutputWithContext(ctx context.Context) DnsManagedZoneIamMemberOutput

type DnsManagedZoneIamMemberState

type DnsManagedZoneIamMemberState struct {
	Condition DnsManagedZoneIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dns.DnsManagedZoneIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DnsManagedZoneIamMemberState) ElementType

type DnsManagedZoneIamPolicy

type DnsManagedZoneIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringOutput `pulumi:"managedZone"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Three different resources help you manage your IAM policy for Cloud DNS ManagedZone. Each of these resources serves a different use case:

* `dns.DnsManagedZoneIamPolicy`: Authoritative. Sets the IAM policy for the managedzone and replaces any existing policy already attached. * `dns.DnsManagedZoneIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the managedzone are preserved. * `dns.DnsManagedZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedzone are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `dns.DnsManagedZoneIamPolicy`: Retrieves the IAM policy for the managedzone

> **Note:** `dns.DnsManagedZoneIamPolicy` **cannot** be used in conjunction with `dns.DnsManagedZoneIamBinding` and `dns.DnsManagedZoneIamMember` or they will fight over what your policy should be.

> **Note:** `dns.DnsManagedZoneIamBinding` resources **can be** used in conjunction with `dns.DnsManagedZoneIamMember` resources **only if** they do not grant privilege to the same role.

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewDnsManagedZoneIamPolicy(ctx, "policy", &dns.DnsManagedZoneIamPolicyArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamBinding(ctx, "binding", &dns.DnsManagedZoneIamBindingArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dns\_managed\_zone\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewDnsManagedZoneIamMember(ctx, "member", &dns.DnsManagedZoneIamMemberArgs{
			Project:     pulumi.Any(_default.Project),
			ManagedZone: pulumi.Any(_default.Name),
			Role:        pulumi.String("roles/viewer"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/managedZones/{{managed_zone}}

* {{project}}/{{managed_zone}}

* {{managed_zone}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud DNS managedzone IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamPolicy:DnsManagedZoneIamPolicy editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamPolicy:DnsManagedZoneIamPolicy editor "projects/{{project}}/managedZones/{{managed_zone}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:dns/dnsManagedZoneIamPolicy:DnsManagedZoneIamPolicy editor projects/{{project}}/managedZones/{{managed_zone}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetDnsManagedZoneIamPolicy

func GetDnsManagedZoneIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnsManagedZoneIamPolicyState, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamPolicy, error)

GetDnsManagedZoneIamPolicy gets an existing DnsManagedZoneIamPolicy 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 NewDnsManagedZoneIamPolicy

func NewDnsManagedZoneIamPolicy(ctx *pulumi.Context,
	name string, args *DnsManagedZoneIamPolicyArgs, opts ...pulumi.ResourceOption) (*DnsManagedZoneIamPolicy, error)

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

func (*DnsManagedZoneIamPolicy) ElementType

func (*DnsManagedZoneIamPolicy) ElementType() reflect.Type

func (*DnsManagedZoneIamPolicy) ToDnsManagedZoneIamPolicyOutput

func (i *DnsManagedZoneIamPolicy) ToDnsManagedZoneIamPolicyOutput() DnsManagedZoneIamPolicyOutput

func (*DnsManagedZoneIamPolicy) ToDnsManagedZoneIamPolicyOutputWithContext

func (i *DnsManagedZoneIamPolicy) ToDnsManagedZoneIamPolicyOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyOutput

type DnsManagedZoneIamPolicyArgs

type DnsManagedZoneIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a DnsManagedZoneIamPolicy resource.

func (DnsManagedZoneIamPolicyArgs) ElementType

type DnsManagedZoneIamPolicyArray

type DnsManagedZoneIamPolicyArray []DnsManagedZoneIamPolicyInput

func (DnsManagedZoneIamPolicyArray) ElementType

func (DnsManagedZoneIamPolicyArray) ToDnsManagedZoneIamPolicyArrayOutput

func (i DnsManagedZoneIamPolicyArray) ToDnsManagedZoneIamPolicyArrayOutput() DnsManagedZoneIamPolicyArrayOutput

func (DnsManagedZoneIamPolicyArray) ToDnsManagedZoneIamPolicyArrayOutputWithContext

func (i DnsManagedZoneIamPolicyArray) ToDnsManagedZoneIamPolicyArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyArrayOutput

type DnsManagedZoneIamPolicyArrayInput

type DnsManagedZoneIamPolicyArrayInput interface {
	pulumi.Input

	ToDnsManagedZoneIamPolicyArrayOutput() DnsManagedZoneIamPolicyArrayOutput
	ToDnsManagedZoneIamPolicyArrayOutputWithContext(context.Context) DnsManagedZoneIamPolicyArrayOutput
}

DnsManagedZoneIamPolicyArrayInput is an input type that accepts DnsManagedZoneIamPolicyArray and DnsManagedZoneIamPolicyArrayOutput values. You can construct a concrete instance of `DnsManagedZoneIamPolicyArrayInput` via:

DnsManagedZoneIamPolicyArray{ DnsManagedZoneIamPolicyArgs{...} }

type DnsManagedZoneIamPolicyArrayOutput

type DnsManagedZoneIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamPolicyArrayOutput) ElementType

func (DnsManagedZoneIamPolicyArrayOutput) Index

func (DnsManagedZoneIamPolicyArrayOutput) ToDnsManagedZoneIamPolicyArrayOutput

func (o DnsManagedZoneIamPolicyArrayOutput) ToDnsManagedZoneIamPolicyArrayOutput() DnsManagedZoneIamPolicyArrayOutput

func (DnsManagedZoneIamPolicyArrayOutput) ToDnsManagedZoneIamPolicyArrayOutputWithContext

func (o DnsManagedZoneIamPolicyArrayOutput) ToDnsManagedZoneIamPolicyArrayOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyArrayOutput

type DnsManagedZoneIamPolicyInput

type DnsManagedZoneIamPolicyInput interface {
	pulumi.Input

	ToDnsManagedZoneIamPolicyOutput() DnsManagedZoneIamPolicyOutput
	ToDnsManagedZoneIamPolicyOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyOutput
}

type DnsManagedZoneIamPolicyMap

type DnsManagedZoneIamPolicyMap map[string]DnsManagedZoneIamPolicyInput

func (DnsManagedZoneIamPolicyMap) ElementType

func (DnsManagedZoneIamPolicyMap) ElementType() reflect.Type

func (DnsManagedZoneIamPolicyMap) ToDnsManagedZoneIamPolicyMapOutput

func (i DnsManagedZoneIamPolicyMap) ToDnsManagedZoneIamPolicyMapOutput() DnsManagedZoneIamPolicyMapOutput

func (DnsManagedZoneIamPolicyMap) ToDnsManagedZoneIamPolicyMapOutputWithContext

func (i DnsManagedZoneIamPolicyMap) ToDnsManagedZoneIamPolicyMapOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyMapOutput

type DnsManagedZoneIamPolicyMapInput

type DnsManagedZoneIamPolicyMapInput interface {
	pulumi.Input

	ToDnsManagedZoneIamPolicyMapOutput() DnsManagedZoneIamPolicyMapOutput
	ToDnsManagedZoneIamPolicyMapOutputWithContext(context.Context) DnsManagedZoneIamPolicyMapOutput
}

DnsManagedZoneIamPolicyMapInput is an input type that accepts DnsManagedZoneIamPolicyMap and DnsManagedZoneIamPolicyMapOutput values. You can construct a concrete instance of `DnsManagedZoneIamPolicyMapInput` via:

DnsManagedZoneIamPolicyMap{ "key": DnsManagedZoneIamPolicyArgs{...} }

type DnsManagedZoneIamPolicyMapOutput

type DnsManagedZoneIamPolicyMapOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamPolicyMapOutput) ElementType

func (DnsManagedZoneIamPolicyMapOutput) MapIndex

func (DnsManagedZoneIamPolicyMapOutput) ToDnsManagedZoneIamPolicyMapOutput

func (o DnsManagedZoneIamPolicyMapOutput) ToDnsManagedZoneIamPolicyMapOutput() DnsManagedZoneIamPolicyMapOutput

func (DnsManagedZoneIamPolicyMapOutput) ToDnsManagedZoneIamPolicyMapOutputWithContext

func (o DnsManagedZoneIamPolicyMapOutput) ToDnsManagedZoneIamPolicyMapOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyMapOutput

type DnsManagedZoneIamPolicyOutput

type DnsManagedZoneIamPolicyOutput struct{ *pulumi.OutputState }

func (DnsManagedZoneIamPolicyOutput) ElementType

func (DnsManagedZoneIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (DnsManagedZoneIamPolicyOutput) ManagedZone

Used to find the parent resource to bind the IAM policy to

func (DnsManagedZoneIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (DnsManagedZoneIamPolicyOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (DnsManagedZoneIamPolicyOutput) ToDnsManagedZoneIamPolicyOutput

func (o DnsManagedZoneIamPolicyOutput) ToDnsManagedZoneIamPolicyOutput() DnsManagedZoneIamPolicyOutput

func (DnsManagedZoneIamPolicyOutput) ToDnsManagedZoneIamPolicyOutputWithContext

func (o DnsManagedZoneIamPolicyOutput) ToDnsManagedZoneIamPolicyOutputWithContext(ctx context.Context) DnsManagedZoneIamPolicyOutput

type DnsManagedZoneIamPolicyState

type DnsManagedZoneIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

func (DnsManagedZoneIamPolicyState) ElementType

type GetKeysArgs

type GetKeysArgs struct {
	// The name or id of the Cloud DNS managed zone.
	ManagedZone string `pulumi:"managedZone"`
	// The ID of the project in which the resource belongs. If `project` is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getKeys.

type GetKeysKeySigningKey

type GetKeysKeySigningKey struct {
	// String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.
	Algorithm string `pulumi:"algorithm"`
	// The time that this resource was created in the control plane. This is in RFC3339 text format.
	CreationTime string `pulumi:"creationTime"`
	// A mutable string of at most 1024 characters associated with this resource for the user's convenience.
	Description string `pulumi:"description"`
	// A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:
	Digests []GetKeysKeySigningKeyDigest `pulumi:"digests"`
	// The DS record based on the KSK record. This is used when [delegating](https://cloud.google.com/dns/docs/dnssec-advanced#subdelegation) DNSSEC-signed subdomains.
	DsRecord string `pulumi:"dsRecord"`
	// Unique identifier for the resource; defined by the server.
	Id string `pulumi:"id"`
	// Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
	IsActive bool `pulumi:"isActive"`
	// Length of the key in bits. Specified at creation time then immutable.
	KeyLength int `pulumi:"keyLength"`
	// The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.
	KeyTag int `pulumi:"keyTag"`
	// Base64 encoded public half of this key.
	PublicKey string `pulumi:"publicKey"`
}

type GetKeysKeySigningKeyArgs

type GetKeysKeySigningKeyArgs struct {
	// String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.
	Algorithm pulumi.StringInput `pulumi:"algorithm"`
	// The time that this resource was created in the control plane. This is in RFC3339 text format.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// A mutable string of at most 1024 characters associated with this resource for the user's convenience.
	Description pulumi.StringInput `pulumi:"description"`
	// A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:
	Digests GetKeysKeySigningKeyDigestArrayInput `pulumi:"digests"`
	// The DS record based on the KSK record. This is used when [delegating](https://cloud.google.com/dns/docs/dnssec-advanced#subdelegation) DNSSEC-signed subdomains.
	DsRecord pulumi.StringInput `pulumi:"dsRecord"`
	// Unique identifier for the resource; defined by the server.
	Id pulumi.StringInput `pulumi:"id"`
	// Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
	IsActive pulumi.BoolInput `pulumi:"isActive"`
	// Length of the key in bits. Specified at creation time then immutable.
	KeyLength pulumi.IntInput `pulumi:"keyLength"`
	// The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.
	KeyTag pulumi.IntInput `pulumi:"keyTag"`
	// Base64 encoded public half of this key.
	PublicKey pulumi.StringInput `pulumi:"publicKey"`
}

func (GetKeysKeySigningKeyArgs) ElementType

func (GetKeysKeySigningKeyArgs) ElementType() reflect.Type

func (GetKeysKeySigningKeyArgs) ToGetKeysKeySigningKeyOutput

func (i GetKeysKeySigningKeyArgs) ToGetKeysKeySigningKeyOutput() GetKeysKeySigningKeyOutput

func (GetKeysKeySigningKeyArgs) ToGetKeysKeySigningKeyOutputWithContext

func (i GetKeysKeySigningKeyArgs) ToGetKeysKeySigningKeyOutputWithContext(ctx context.Context) GetKeysKeySigningKeyOutput

type GetKeysKeySigningKeyArray

type GetKeysKeySigningKeyArray []GetKeysKeySigningKeyInput

func (GetKeysKeySigningKeyArray) ElementType

func (GetKeysKeySigningKeyArray) ElementType() reflect.Type

func (GetKeysKeySigningKeyArray) ToGetKeysKeySigningKeyArrayOutput

func (i GetKeysKeySigningKeyArray) ToGetKeysKeySigningKeyArrayOutput() GetKeysKeySigningKeyArrayOutput

func (GetKeysKeySigningKeyArray) ToGetKeysKeySigningKeyArrayOutputWithContext

func (i GetKeysKeySigningKeyArray) ToGetKeysKeySigningKeyArrayOutputWithContext(ctx context.Context) GetKeysKeySigningKeyArrayOutput

type GetKeysKeySigningKeyArrayInput

type GetKeysKeySigningKeyArrayInput interface {
	pulumi.Input

	ToGetKeysKeySigningKeyArrayOutput() GetKeysKeySigningKeyArrayOutput
	ToGetKeysKeySigningKeyArrayOutputWithContext(context.Context) GetKeysKeySigningKeyArrayOutput
}

GetKeysKeySigningKeyArrayInput is an input type that accepts GetKeysKeySigningKeyArray and GetKeysKeySigningKeyArrayOutput values. You can construct a concrete instance of `GetKeysKeySigningKeyArrayInput` via:

GetKeysKeySigningKeyArray{ GetKeysKeySigningKeyArgs{...} }

type GetKeysKeySigningKeyArrayOutput

type GetKeysKeySigningKeyArrayOutput struct{ *pulumi.OutputState }

func (GetKeysKeySigningKeyArrayOutput) ElementType

func (GetKeysKeySigningKeyArrayOutput) Index

func (GetKeysKeySigningKeyArrayOutput) ToGetKeysKeySigningKeyArrayOutput

func (o GetKeysKeySigningKeyArrayOutput) ToGetKeysKeySigningKeyArrayOutput() GetKeysKeySigningKeyArrayOutput

func (GetKeysKeySigningKeyArrayOutput) ToGetKeysKeySigningKeyArrayOutputWithContext

func (o GetKeysKeySigningKeyArrayOutput) ToGetKeysKeySigningKeyArrayOutputWithContext(ctx context.Context) GetKeysKeySigningKeyArrayOutput

type GetKeysKeySigningKeyDigest

type GetKeysKeySigningKeyDigest struct {
	// The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
	Digest *string `pulumi:"digest"`
	// Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`
	Type *string `pulumi:"type"`
}

type GetKeysKeySigningKeyDigestArgs

type GetKeysKeySigningKeyDigestArgs struct {
	// The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
	Digest pulumi.StringPtrInput `pulumi:"digest"`
	// Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (GetKeysKeySigningKeyDigestArgs) ElementType

func (GetKeysKeySigningKeyDigestArgs) ToGetKeysKeySigningKeyDigestOutput

func (i GetKeysKeySigningKeyDigestArgs) ToGetKeysKeySigningKeyDigestOutput() GetKeysKeySigningKeyDigestOutput

func (GetKeysKeySigningKeyDigestArgs) ToGetKeysKeySigningKeyDigestOutputWithContext

func (i GetKeysKeySigningKeyDigestArgs) ToGetKeysKeySigningKeyDigestOutputWithContext(ctx context.Context) GetKeysKeySigningKeyDigestOutput

type GetKeysKeySigningKeyDigestArray

type GetKeysKeySigningKeyDigestArray []GetKeysKeySigningKeyDigestInput

func (GetKeysKeySigningKeyDigestArray) ElementType

func (GetKeysKeySigningKeyDigestArray) ToGetKeysKeySigningKeyDigestArrayOutput

func (i GetKeysKeySigningKeyDigestArray) ToGetKeysKeySigningKeyDigestArrayOutput() GetKeysKeySigningKeyDigestArrayOutput

func (GetKeysKeySigningKeyDigestArray) ToGetKeysKeySigningKeyDigestArrayOutputWithContext

func (i GetKeysKeySigningKeyDigestArray) ToGetKeysKeySigningKeyDigestArrayOutputWithContext(ctx context.Context) GetKeysKeySigningKeyDigestArrayOutput

type GetKeysKeySigningKeyDigestArrayInput

type GetKeysKeySigningKeyDigestArrayInput interface {
	pulumi.Input

	ToGetKeysKeySigningKeyDigestArrayOutput() GetKeysKeySigningKeyDigestArrayOutput
	ToGetKeysKeySigningKeyDigestArrayOutputWithContext(context.Context) GetKeysKeySigningKeyDigestArrayOutput
}

GetKeysKeySigningKeyDigestArrayInput is an input type that accepts GetKeysKeySigningKeyDigestArray and GetKeysKeySigningKeyDigestArrayOutput values. You can construct a concrete instance of `GetKeysKeySigningKeyDigestArrayInput` via:

GetKeysKeySigningKeyDigestArray{ GetKeysKeySigningKeyDigestArgs{...} }

type GetKeysKeySigningKeyDigestArrayOutput

type GetKeysKeySigningKeyDigestArrayOutput struct{ *pulumi.OutputState }

func (GetKeysKeySigningKeyDigestArrayOutput) ElementType

func (GetKeysKeySigningKeyDigestArrayOutput) Index

func (GetKeysKeySigningKeyDigestArrayOutput) ToGetKeysKeySigningKeyDigestArrayOutput

func (o GetKeysKeySigningKeyDigestArrayOutput) ToGetKeysKeySigningKeyDigestArrayOutput() GetKeysKeySigningKeyDigestArrayOutput

func (GetKeysKeySigningKeyDigestArrayOutput) ToGetKeysKeySigningKeyDigestArrayOutputWithContext

func (o GetKeysKeySigningKeyDigestArrayOutput) ToGetKeysKeySigningKeyDigestArrayOutputWithContext(ctx context.Context) GetKeysKeySigningKeyDigestArrayOutput

type GetKeysKeySigningKeyDigestInput

type GetKeysKeySigningKeyDigestInput interface {
	pulumi.Input

	ToGetKeysKeySigningKeyDigestOutput() GetKeysKeySigningKeyDigestOutput
	ToGetKeysKeySigningKeyDigestOutputWithContext(context.Context) GetKeysKeySigningKeyDigestOutput
}

GetKeysKeySigningKeyDigestInput is an input type that accepts GetKeysKeySigningKeyDigestArgs and GetKeysKeySigningKeyDigestOutput values. You can construct a concrete instance of `GetKeysKeySigningKeyDigestInput` via:

GetKeysKeySigningKeyDigestArgs{...}

type GetKeysKeySigningKeyDigestOutput

type GetKeysKeySigningKeyDigestOutput struct{ *pulumi.OutputState }

func (GetKeysKeySigningKeyDigestOutput) Digest

The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.

func (GetKeysKeySigningKeyDigestOutput) ElementType

func (GetKeysKeySigningKeyDigestOutput) ToGetKeysKeySigningKeyDigestOutput

func (o GetKeysKeySigningKeyDigestOutput) ToGetKeysKeySigningKeyDigestOutput() GetKeysKeySigningKeyDigestOutput

func (GetKeysKeySigningKeyDigestOutput) ToGetKeysKeySigningKeyDigestOutputWithContext

func (o GetKeysKeySigningKeyDigestOutput) ToGetKeysKeySigningKeyDigestOutputWithContext(ctx context.Context) GetKeysKeySigningKeyDigestOutput

func (GetKeysKeySigningKeyDigestOutput) Type

Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`

type GetKeysKeySigningKeyInput

type GetKeysKeySigningKeyInput interface {
	pulumi.Input

	ToGetKeysKeySigningKeyOutput() GetKeysKeySigningKeyOutput
	ToGetKeysKeySigningKeyOutputWithContext(context.Context) GetKeysKeySigningKeyOutput
}

GetKeysKeySigningKeyInput is an input type that accepts GetKeysKeySigningKeyArgs and GetKeysKeySigningKeyOutput values. You can construct a concrete instance of `GetKeysKeySigningKeyInput` via:

GetKeysKeySigningKeyArgs{...}

type GetKeysKeySigningKeyOutput

type GetKeysKeySigningKeyOutput struct{ *pulumi.OutputState }

func (GetKeysKeySigningKeyOutput) Algorithm

String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.

func (GetKeysKeySigningKeyOutput) CreationTime

The time that this resource was created in the control plane. This is in RFC3339 text format.

func (GetKeysKeySigningKeyOutput) Description

A mutable string of at most 1024 characters associated with this resource for the user's convenience.

func (GetKeysKeySigningKeyOutput) Digests

A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:

func (GetKeysKeySigningKeyOutput) DsRecord

The DS record based on the KSK record. This is used when [delegating](https://cloud.google.com/dns/docs/dnssec-advanced#subdelegation) DNSSEC-signed subdomains.

func (GetKeysKeySigningKeyOutput) ElementType

func (GetKeysKeySigningKeyOutput) ElementType() reflect.Type

func (GetKeysKeySigningKeyOutput) Id

Unique identifier for the resource; defined by the server.

func (GetKeysKeySigningKeyOutput) IsActive

Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.

func (GetKeysKeySigningKeyOutput) KeyLength

Length of the key in bits. Specified at creation time then immutable.

func (GetKeysKeySigningKeyOutput) KeyTag

The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.

func (GetKeysKeySigningKeyOutput) PublicKey

Base64 encoded public half of this key.

func (GetKeysKeySigningKeyOutput) ToGetKeysKeySigningKeyOutput

func (o GetKeysKeySigningKeyOutput) ToGetKeysKeySigningKeyOutput() GetKeysKeySigningKeyOutput

func (GetKeysKeySigningKeyOutput) ToGetKeysKeySigningKeyOutputWithContext

func (o GetKeysKeySigningKeyOutput) ToGetKeysKeySigningKeyOutputWithContext(ctx context.Context) GetKeysKeySigningKeyOutput

type GetKeysOutputArgs

type GetKeysOutputArgs struct {
	// The name or id of the Cloud DNS managed zone.
	ManagedZone pulumi.StringInput `pulumi:"managedZone"`
	// The ID of the project in which the resource belongs. If `project` is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getKeys.

func (GetKeysOutputArgs) ElementType

func (GetKeysOutputArgs) ElementType() reflect.Type

type GetKeysResult

type GetKeysResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Key-signing key (KSK) records. Structure is documented below. Additionally, the DS record is provided:
	KeySigningKeys []GetKeysKeySigningKey `pulumi:"keySigningKeys"`
	ManagedZone    string                 `pulumi:"managedZone"`
	Project        string                 `pulumi:"project"`
	// A list of Zone-signing key (ZSK) records. Structure is documented below.
	ZoneSigningKeys []GetKeysZoneSigningKey `pulumi:"zoneSigningKeys"`
}

A collection of values returned by getKeys.

func GetKeys

func GetKeys(ctx *pulumi.Context, args *GetKeysArgs, opts ...pulumi.InvokeOption) (*GetKeysResult, error)

Get the DNSKEY and DS records of DNSSEC-signed managed zones.

For more information see the [official documentation](https://cloud.google.com/dns/docs/dnskeys/) and [API](https://cloud.google.com/dns/docs/reference/v1/dnsKeys).

> A dns.ManagedZone resource must have DNSSEC enabled in order to contain any DNSKEYs. Queries to managed zones without this setting enabled will result in a 404 error as the collection of DNSKEYs does not exist in the DNS API.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := dns.NewManagedZone(ctx, "foo", &dns.ManagedZoneArgs{
			Name:    pulumi.String("foobar"),
			DnsName: pulumi.String("foo.bar."),
			DnssecConfig: &dns.ManagedZoneDnssecConfigArgs{
				State:        pulumi.String("on"),
				NonExistence: pulumi.String("nsec3"),
			},
		})
		if err != nil {
			return err
		}
		fooDnsKeys := dns.GetKeysOutput(ctx, dns.GetKeysOutputArgs{
			ManagedZone: foo.ID(),
		}, nil)
		ctx.Export("fooDnsDsRecord", fooDnsKeys.ApplyT(func(fooDnsKeys dns.GetKeysResult) (*string, error) {
			return &fooDnsKeys.KeySigningKeys[0].DsRecord, nil
		}).(pulumi.StringPtrOutput))
		return nil
	})
}

```

type GetKeysResultOutput

type GetKeysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getKeys.

func (GetKeysResultOutput) ElementType

func (GetKeysResultOutput) ElementType() reflect.Type

func (GetKeysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetKeysResultOutput) KeySigningKeys

A list of Key-signing key (KSK) records. Structure is documented below. Additionally, the DS record is provided:

func (GetKeysResultOutput) ManagedZone

func (o GetKeysResultOutput) ManagedZone() pulumi.StringOutput

func (GetKeysResultOutput) Project

func (GetKeysResultOutput) ToGetKeysResultOutput

func (o GetKeysResultOutput) ToGetKeysResultOutput() GetKeysResultOutput

func (GetKeysResultOutput) ToGetKeysResultOutputWithContext

func (o GetKeysResultOutput) ToGetKeysResultOutputWithContext(ctx context.Context) GetKeysResultOutput

func (GetKeysResultOutput) ZoneSigningKeys

A list of Zone-signing key (ZSK) records. Structure is documented below.

type GetKeysZoneSigningKey

type GetKeysZoneSigningKey struct {
	// String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.
	Algorithm string `pulumi:"algorithm"`
	// The time that this resource was created in the control plane. This is in RFC3339 text format.
	CreationTime string `pulumi:"creationTime"`
	// A mutable string of at most 1024 characters associated with this resource for the user's convenience.
	Description string `pulumi:"description"`
	// A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:
	Digests []GetKeysZoneSigningKeyDigest `pulumi:"digests"`
	// Unique identifier for the resource; defined by the server.
	Id string `pulumi:"id"`
	// Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
	IsActive bool `pulumi:"isActive"`
	// Length of the key in bits. Specified at creation time then immutable.
	KeyLength int `pulumi:"keyLength"`
	// The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.
	KeyTag int `pulumi:"keyTag"`
	// Base64 encoded public half of this key.
	PublicKey string `pulumi:"publicKey"`
}

type GetKeysZoneSigningKeyArgs

type GetKeysZoneSigningKeyArgs struct {
	// String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.
	Algorithm pulumi.StringInput `pulumi:"algorithm"`
	// The time that this resource was created in the control plane. This is in RFC3339 text format.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// A mutable string of at most 1024 characters associated with this resource for the user's convenience.
	Description pulumi.StringInput `pulumi:"description"`
	// A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:
	Digests GetKeysZoneSigningKeyDigestArrayInput `pulumi:"digests"`
	// Unique identifier for the resource; defined by the server.
	Id pulumi.StringInput `pulumi:"id"`
	// Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.
	IsActive pulumi.BoolInput `pulumi:"isActive"`
	// Length of the key in bits. Specified at creation time then immutable.
	KeyLength pulumi.IntInput `pulumi:"keyLength"`
	// The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.
	KeyTag pulumi.IntInput `pulumi:"keyTag"`
	// Base64 encoded public half of this key.
	PublicKey pulumi.StringInput `pulumi:"publicKey"`
}

func (GetKeysZoneSigningKeyArgs) ElementType

func (GetKeysZoneSigningKeyArgs) ElementType() reflect.Type

func (GetKeysZoneSigningKeyArgs) ToGetKeysZoneSigningKeyOutput

func (i GetKeysZoneSigningKeyArgs) ToGetKeysZoneSigningKeyOutput() GetKeysZoneSigningKeyOutput

func (GetKeysZoneSigningKeyArgs) ToGetKeysZoneSigningKeyOutputWithContext

func (i GetKeysZoneSigningKeyArgs) ToGetKeysZoneSigningKeyOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyOutput

type GetKeysZoneSigningKeyArray

type GetKeysZoneSigningKeyArray []GetKeysZoneSigningKeyInput

func (GetKeysZoneSigningKeyArray) ElementType

func (GetKeysZoneSigningKeyArray) ElementType() reflect.Type

func (GetKeysZoneSigningKeyArray) ToGetKeysZoneSigningKeyArrayOutput

func (i GetKeysZoneSigningKeyArray) ToGetKeysZoneSigningKeyArrayOutput() GetKeysZoneSigningKeyArrayOutput

func (GetKeysZoneSigningKeyArray) ToGetKeysZoneSigningKeyArrayOutputWithContext

func (i GetKeysZoneSigningKeyArray) ToGetKeysZoneSigningKeyArrayOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyArrayOutput

type GetKeysZoneSigningKeyArrayInput

type GetKeysZoneSigningKeyArrayInput interface {
	pulumi.Input

	ToGetKeysZoneSigningKeyArrayOutput() GetKeysZoneSigningKeyArrayOutput
	ToGetKeysZoneSigningKeyArrayOutputWithContext(context.Context) GetKeysZoneSigningKeyArrayOutput
}

GetKeysZoneSigningKeyArrayInput is an input type that accepts GetKeysZoneSigningKeyArray and GetKeysZoneSigningKeyArrayOutput values. You can construct a concrete instance of `GetKeysZoneSigningKeyArrayInput` via:

GetKeysZoneSigningKeyArray{ GetKeysZoneSigningKeyArgs{...} }

type GetKeysZoneSigningKeyArrayOutput

type GetKeysZoneSigningKeyArrayOutput struct{ *pulumi.OutputState }

func (GetKeysZoneSigningKeyArrayOutput) ElementType

func (GetKeysZoneSigningKeyArrayOutput) Index

func (GetKeysZoneSigningKeyArrayOutput) ToGetKeysZoneSigningKeyArrayOutput

func (o GetKeysZoneSigningKeyArrayOutput) ToGetKeysZoneSigningKeyArrayOutput() GetKeysZoneSigningKeyArrayOutput

func (GetKeysZoneSigningKeyArrayOutput) ToGetKeysZoneSigningKeyArrayOutputWithContext

func (o GetKeysZoneSigningKeyArrayOutput) ToGetKeysZoneSigningKeyArrayOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyArrayOutput

type GetKeysZoneSigningKeyDigest

type GetKeysZoneSigningKeyDigest struct {
	// The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
	Digest *string `pulumi:"digest"`
	// Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`
	Type *string `pulumi:"type"`
}

type GetKeysZoneSigningKeyDigestArgs

type GetKeysZoneSigningKeyDigestArgs struct {
	// The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.
	Digest pulumi.StringPtrInput `pulumi:"digest"`
	// Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (GetKeysZoneSigningKeyDigestArgs) ElementType

func (GetKeysZoneSigningKeyDigestArgs) ToGetKeysZoneSigningKeyDigestOutput

func (i GetKeysZoneSigningKeyDigestArgs) ToGetKeysZoneSigningKeyDigestOutput() GetKeysZoneSigningKeyDigestOutput

func (GetKeysZoneSigningKeyDigestArgs) ToGetKeysZoneSigningKeyDigestOutputWithContext

func (i GetKeysZoneSigningKeyDigestArgs) ToGetKeysZoneSigningKeyDigestOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyDigestOutput

type GetKeysZoneSigningKeyDigestArray

type GetKeysZoneSigningKeyDigestArray []GetKeysZoneSigningKeyDigestInput

func (GetKeysZoneSigningKeyDigestArray) ElementType

func (GetKeysZoneSigningKeyDigestArray) ToGetKeysZoneSigningKeyDigestArrayOutput

func (i GetKeysZoneSigningKeyDigestArray) ToGetKeysZoneSigningKeyDigestArrayOutput() GetKeysZoneSigningKeyDigestArrayOutput

func (GetKeysZoneSigningKeyDigestArray) ToGetKeysZoneSigningKeyDigestArrayOutputWithContext

func (i GetKeysZoneSigningKeyDigestArray) ToGetKeysZoneSigningKeyDigestArrayOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyDigestArrayOutput

type GetKeysZoneSigningKeyDigestArrayInput

type GetKeysZoneSigningKeyDigestArrayInput interface {
	pulumi.Input

	ToGetKeysZoneSigningKeyDigestArrayOutput() GetKeysZoneSigningKeyDigestArrayOutput
	ToGetKeysZoneSigningKeyDigestArrayOutputWithContext(context.Context) GetKeysZoneSigningKeyDigestArrayOutput
}

GetKeysZoneSigningKeyDigestArrayInput is an input type that accepts GetKeysZoneSigningKeyDigestArray and GetKeysZoneSigningKeyDigestArrayOutput values. You can construct a concrete instance of `GetKeysZoneSigningKeyDigestArrayInput` via:

GetKeysZoneSigningKeyDigestArray{ GetKeysZoneSigningKeyDigestArgs{...} }

type GetKeysZoneSigningKeyDigestArrayOutput

type GetKeysZoneSigningKeyDigestArrayOutput struct{ *pulumi.OutputState }

func (GetKeysZoneSigningKeyDigestArrayOutput) ElementType

func (GetKeysZoneSigningKeyDigestArrayOutput) Index

func (GetKeysZoneSigningKeyDigestArrayOutput) ToGetKeysZoneSigningKeyDigestArrayOutput

func (o GetKeysZoneSigningKeyDigestArrayOutput) ToGetKeysZoneSigningKeyDigestArrayOutput() GetKeysZoneSigningKeyDigestArrayOutput

func (GetKeysZoneSigningKeyDigestArrayOutput) ToGetKeysZoneSigningKeyDigestArrayOutputWithContext

func (o GetKeysZoneSigningKeyDigestArrayOutput) ToGetKeysZoneSigningKeyDigestArrayOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyDigestArrayOutput

type GetKeysZoneSigningKeyDigestInput

type GetKeysZoneSigningKeyDigestInput interface {
	pulumi.Input

	ToGetKeysZoneSigningKeyDigestOutput() GetKeysZoneSigningKeyDigestOutput
	ToGetKeysZoneSigningKeyDigestOutputWithContext(context.Context) GetKeysZoneSigningKeyDigestOutput
}

GetKeysZoneSigningKeyDigestInput is an input type that accepts GetKeysZoneSigningKeyDigestArgs and GetKeysZoneSigningKeyDigestOutput values. You can construct a concrete instance of `GetKeysZoneSigningKeyDigestInput` via:

GetKeysZoneSigningKeyDigestArgs{...}

type GetKeysZoneSigningKeyDigestOutput

type GetKeysZoneSigningKeyDigestOutput struct{ *pulumi.OutputState }

func (GetKeysZoneSigningKeyDigestOutput) Digest

The base-16 encoded bytes of this digest. Suitable for use in a DS resource record.

func (GetKeysZoneSigningKeyDigestOutput) ElementType

func (GetKeysZoneSigningKeyDigestOutput) ToGetKeysZoneSigningKeyDigestOutput

func (o GetKeysZoneSigningKeyDigestOutput) ToGetKeysZoneSigningKeyDigestOutput() GetKeysZoneSigningKeyDigestOutput

func (GetKeysZoneSigningKeyDigestOutput) ToGetKeysZoneSigningKeyDigestOutputWithContext

func (o GetKeysZoneSigningKeyDigestOutput) ToGetKeysZoneSigningKeyDigestOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyDigestOutput

func (GetKeysZoneSigningKeyDigestOutput) Type

Specifies the algorithm used to calculate this digest. Possible values are `sha1`, `sha256` and `sha384`

type GetKeysZoneSigningKeyInput

type GetKeysZoneSigningKeyInput interface {
	pulumi.Input

	ToGetKeysZoneSigningKeyOutput() GetKeysZoneSigningKeyOutput
	ToGetKeysZoneSigningKeyOutputWithContext(context.Context) GetKeysZoneSigningKeyOutput
}

GetKeysZoneSigningKeyInput is an input type that accepts GetKeysZoneSigningKeyArgs and GetKeysZoneSigningKeyOutput values. You can construct a concrete instance of `GetKeysZoneSigningKeyInput` via:

GetKeysZoneSigningKeyArgs{...}

type GetKeysZoneSigningKeyOutput

type GetKeysZoneSigningKeyOutput struct{ *pulumi.OutputState }

func (GetKeysZoneSigningKeyOutput) Algorithm

String mnemonic specifying the DNSSEC algorithm of this key. Immutable after creation time. Possible values are `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, and `rsasha512`.

func (GetKeysZoneSigningKeyOutput) CreationTime

The time that this resource was created in the control plane. This is in RFC3339 text format.

func (GetKeysZoneSigningKeyOutput) Description

A mutable string of at most 1024 characters associated with this resource for the user's convenience.

func (GetKeysZoneSigningKeyOutput) Digests

A list of cryptographic hashes of the DNSKEY resource record associated with this DnsKey. These digests are needed to construct a DS record that points at this DNS key. Each contains:

func (GetKeysZoneSigningKeyOutput) ElementType

func (GetKeysZoneSigningKeyOutput) Id

Unique identifier for the resource; defined by the server.

func (GetKeysZoneSigningKeyOutput) IsActive

Active keys will be used to sign subsequent changes to the ManagedZone. Inactive keys will still be present as DNSKEY Resource Records for the use of resolvers validating existing signatures.

func (GetKeysZoneSigningKeyOutput) KeyLength

Length of the key in bits. Specified at creation time then immutable.

func (GetKeysZoneSigningKeyOutput) KeyTag

The key tag is a non-cryptographic hash of the a DNSKEY resource record associated with this DnsKey. The key tag can be used to identify a DNSKEY more quickly (but it is not a unique identifier). In particular, the key tag is used in a parent zone's DS record to point at the DNSKEY in this child ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm to calculate it is specified in RFC4034 Appendix B.

func (GetKeysZoneSigningKeyOutput) PublicKey

Base64 encoded public half of this key.

func (GetKeysZoneSigningKeyOutput) ToGetKeysZoneSigningKeyOutput

func (o GetKeysZoneSigningKeyOutput) ToGetKeysZoneSigningKeyOutput() GetKeysZoneSigningKeyOutput

func (GetKeysZoneSigningKeyOutput) ToGetKeysZoneSigningKeyOutputWithContext

func (o GetKeysZoneSigningKeyOutput) ToGetKeysZoneSigningKeyOutputWithContext(ctx context.Context) GetKeysZoneSigningKeyOutput

type GetManagedZoneIamPolicyArgs

type GetManagedZoneIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone string `pulumi:"managedZone"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getManagedZoneIamPolicy.

type GetManagedZoneIamPolicyOutputArgs

type GetManagedZoneIamPolicyOutputArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ManagedZone pulumi.StringInput `pulumi:"managedZone"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getManagedZoneIamPolicy.

func (GetManagedZoneIamPolicyOutputArgs) ElementType

type GetManagedZoneIamPolicyResult

type GetManagedZoneIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id          string `pulumi:"id"`
	ManagedZone string `pulumi:"managedZone"`
	// (Required only by `dns.DnsManagedZoneIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
	Project    string `pulumi:"project"`
}

A collection of values returned by getManagedZoneIamPolicy.

func GetManagedZoneIamPolicy

func GetManagedZoneIamPolicy(ctx *pulumi.Context, args *GetManagedZoneIamPolicyArgs, opts ...pulumi.InvokeOption) (*GetManagedZoneIamPolicyResult, error)

Retrieves the current IAM policy data for managedzone

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.GetManagedZoneIamPolicy(ctx, &dns.GetManagedZoneIamPolicyArgs{
			Project:     pulumi.StringRef(_default.Project),
			ManagedZone: _default.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetManagedZoneIamPolicyResultOutput

type GetManagedZoneIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedZoneIamPolicy.

func (GetManagedZoneIamPolicyResultOutput) ElementType

func (GetManagedZoneIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (GetManagedZoneIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetManagedZoneIamPolicyResultOutput) ManagedZone

func (GetManagedZoneIamPolicyResultOutput) PolicyData

(Required only by `dns.DnsManagedZoneIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (GetManagedZoneIamPolicyResultOutput) Project

func (GetManagedZoneIamPolicyResultOutput) ToGetManagedZoneIamPolicyResultOutput

func (o GetManagedZoneIamPolicyResultOutput) ToGetManagedZoneIamPolicyResultOutput() GetManagedZoneIamPolicyResultOutput

func (GetManagedZoneIamPolicyResultOutput) ToGetManagedZoneIamPolicyResultOutputWithContext

func (o GetManagedZoneIamPolicyResultOutput) ToGetManagedZoneIamPolicyResultOutputWithContext(ctx context.Context) GetManagedZoneIamPolicyResultOutput

type GetManagedZonesArgs added in v7.6.0

type GetManagedZonesArgs struct {
	// The ID of the project containing Google Cloud DNS zones. If this is not provided the default project will be used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getManagedZones.

type GetManagedZonesManagedZone added in v7.6.0

type GetManagedZonesManagedZone struct {
	Description   string   `pulumi:"description"`
	DnsName       string   `pulumi:"dnsName"`
	Id            string   `pulumi:"id"`
	ManagedZoneId int      `pulumi:"managedZoneId"`
	Name          *string  `pulumi:"name"`
	NameServers   []string `pulumi:"nameServers"`
	// The ID of the project containing Google Cloud DNS zones. If this is not provided the default project will be used.
	Project    *string `pulumi:"project"`
	Visibility string  `pulumi:"visibility"`
}

type GetManagedZonesManagedZoneArgs added in v7.6.0

type GetManagedZonesManagedZoneArgs struct {
	Description   pulumi.StringInput      `pulumi:"description"`
	DnsName       pulumi.StringInput      `pulumi:"dnsName"`
	Id            pulumi.StringInput      `pulumi:"id"`
	ManagedZoneId pulumi.IntInput         `pulumi:"managedZoneId"`
	Name          pulumi.StringPtrInput   `pulumi:"name"`
	NameServers   pulumi.StringArrayInput `pulumi:"nameServers"`
	// The ID of the project containing Google Cloud DNS zones. If this is not provided the default project will be used.
	Project    pulumi.StringPtrInput `pulumi:"project"`
	Visibility pulumi.StringInput    `pulumi:"visibility"`
}

func (GetManagedZonesManagedZoneArgs) ElementType added in v7.6.0

func (GetManagedZonesManagedZoneArgs) ToGetManagedZonesManagedZoneOutput added in v7.6.0

func (i GetManagedZonesManagedZoneArgs) ToGetManagedZonesManagedZoneOutput() GetManagedZonesManagedZoneOutput

func (GetManagedZonesManagedZoneArgs) ToGetManagedZonesManagedZoneOutputWithContext added in v7.6.0

func (i GetManagedZonesManagedZoneArgs) ToGetManagedZonesManagedZoneOutputWithContext(ctx context.Context) GetManagedZonesManagedZoneOutput

type GetManagedZonesManagedZoneArray added in v7.6.0

type GetManagedZonesManagedZoneArray []GetManagedZonesManagedZoneInput

func (GetManagedZonesManagedZoneArray) ElementType added in v7.6.0

func (GetManagedZonesManagedZoneArray) ToGetManagedZonesManagedZoneArrayOutput added in v7.6.0

func (i GetManagedZonesManagedZoneArray) ToGetManagedZonesManagedZoneArrayOutput() GetManagedZonesManagedZoneArrayOutput

func (GetManagedZonesManagedZoneArray) ToGetManagedZonesManagedZoneArrayOutputWithContext added in v7.6.0

func (i GetManagedZonesManagedZoneArray) ToGetManagedZonesManagedZoneArrayOutputWithContext(ctx context.Context) GetManagedZonesManagedZoneArrayOutput

type GetManagedZonesManagedZoneArrayInput added in v7.6.0

type GetManagedZonesManagedZoneArrayInput interface {
	pulumi.Input

	ToGetManagedZonesManagedZoneArrayOutput() GetManagedZonesManagedZoneArrayOutput
	ToGetManagedZonesManagedZoneArrayOutputWithContext(context.Context) GetManagedZonesManagedZoneArrayOutput
}

GetManagedZonesManagedZoneArrayInput is an input type that accepts GetManagedZonesManagedZoneArray and GetManagedZonesManagedZoneArrayOutput values. You can construct a concrete instance of `GetManagedZonesManagedZoneArrayInput` via:

GetManagedZonesManagedZoneArray{ GetManagedZonesManagedZoneArgs{...} }

type GetManagedZonesManagedZoneArrayOutput added in v7.6.0

type GetManagedZonesManagedZoneArrayOutput struct{ *pulumi.OutputState }

func (GetManagedZonesManagedZoneArrayOutput) ElementType added in v7.6.0

func (GetManagedZonesManagedZoneArrayOutput) Index added in v7.6.0

func (GetManagedZonesManagedZoneArrayOutput) ToGetManagedZonesManagedZoneArrayOutput added in v7.6.0

func (o GetManagedZonesManagedZoneArrayOutput) ToGetManagedZonesManagedZoneArrayOutput() GetManagedZonesManagedZoneArrayOutput

func (GetManagedZonesManagedZoneArrayOutput) ToGetManagedZonesManagedZoneArrayOutputWithContext added in v7.6.0

func (o GetManagedZonesManagedZoneArrayOutput) ToGetManagedZonesManagedZoneArrayOutputWithContext(ctx context.Context) GetManagedZonesManagedZoneArrayOutput

type GetManagedZonesManagedZoneInput added in v7.6.0

type GetManagedZonesManagedZoneInput interface {
	pulumi.Input

	ToGetManagedZonesManagedZoneOutput() GetManagedZonesManagedZoneOutput
	ToGetManagedZonesManagedZoneOutputWithContext(context.Context) GetManagedZonesManagedZoneOutput
}

GetManagedZonesManagedZoneInput is an input type that accepts GetManagedZonesManagedZoneArgs and GetManagedZonesManagedZoneOutput values. You can construct a concrete instance of `GetManagedZonesManagedZoneInput` via:

GetManagedZonesManagedZoneArgs{...}

type GetManagedZonesManagedZoneOutput added in v7.6.0

type GetManagedZonesManagedZoneOutput struct{ *pulumi.OutputState }

func (GetManagedZonesManagedZoneOutput) Description added in v7.6.0

func (GetManagedZonesManagedZoneOutput) DnsName added in v7.6.0

func (GetManagedZonesManagedZoneOutput) ElementType added in v7.6.0

func (GetManagedZonesManagedZoneOutput) Id added in v7.6.0

func (GetManagedZonesManagedZoneOutput) ManagedZoneId added in v7.6.0

func (GetManagedZonesManagedZoneOutput) Name added in v7.6.0

func (GetManagedZonesManagedZoneOutput) NameServers added in v7.6.0

func (GetManagedZonesManagedZoneOutput) Project added in v7.6.0

The ID of the project containing Google Cloud DNS zones. If this is not provided the default project will be used.

func (GetManagedZonesManagedZoneOutput) ToGetManagedZonesManagedZoneOutput added in v7.6.0

func (o GetManagedZonesManagedZoneOutput) ToGetManagedZonesManagedZoneOutput() GetManagedZonesManagedZoneOutput

func (GetManagedZonesManagedZoneOutput) ToGetManagedZonesManagedZoneOutputWithContext added in v7.6.0

func (o GetManagedZonesManagedZoneOutput) ToGetManagedZonesManagedZoneOutputWithContext(ctx context.Context) GetManagedZonesManagedZoneOutput

func (GetManagedZonesManagedZoneOutput) Visibility added in v7.6.0

type GetManagedZonesOutputArgs added in v7.6.0

type GetManagedZonesOutputArgs struct {
	// The ID of the project containing Google Cloud DNS zones. If this is not provided the default project will be used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getManagedZones.

func (GetManagedZonesOutputArgs) ElementType added in v7.6.0

func (GetManagedZonesOutputArgs) ElementType() reflect.Type

type GetManagedZonesResult added in v7.6.0

type GetManagedZonesResult struct {
	Id string `pulumi:"id"`
	// A list of managed zones.
	ManagedZones []GetManagedZonesManagedZone `pulumi:"managedZones"`
	Project      *string                      `pulumi:"project"`
}

A collection of values returned by getManagedZones.

func GetManagedZones added in v7.6.0

func GetManagedZones(ctx *pulumi.Context, args *GetManagedZonesArgs, opts ...pulumi.InvokeOption) (*GetManagedZonesResult, error)

Provides access to a list of zones within Google Cloud DNS. For more information see [the official documentation](https://cloud.google.com/dns/zones/) and [API](https://cloud.google.com/dns/api/v1/managedZones).

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.GetManagedZones(ctx, &dns.GetManagedZonesArgs{
			Project: pulumi.StringRef("my-project-id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetManagedZonesResultOutput added in v7.6.0

type GetManagedZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedZones.

func GetManagedZonesOutput added in v7.6.0

func (GetManagedZonesResultOutput) ElementType added in v7.6.0

func (GetManagedZonesResultOutput) Id added in v7.6.0

func (GetManagedZonesResultOutput) ManagedZones added in v7.6.0

A list of managed zones.

func (GetManagedZonesResultOutput) Project added in v7.6.0

func (GetManagedZonesResultOutput) ToGetManagedZonesResultOutput added in v7.6.0

func (o GetManagedZonesResultOutput) ToGetManagedZonesResultOutput() GetManagedZonesResultOutput

func (GetManagedZonesResultOutput) ToGetManagedZonesResultOutputWithContext added in v7.6.0

func (o GetManagedZonesResultOutput) ToGetManagedZonesResultOutputWithContext(ctx context.Context) GetManagedZonesResultOutput

type LookupManagedZoneArgs

type LookupManagedZoneArgs struct {
	// A unique name for the resource.
	Name string `pulumi:"name"`
	// The ID of the project for the Google Cloud DNS zone.  If this is not provided the default project will be used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getManagedZone.

type LookupManagedZoneOutputArgs

type LookupManagedZoneOutputArgs struct {
	// A unique name for the resource.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the project for the Google Cloud DNS zone.  If this is not provided the default project will be used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getManagedZone.

func (LookupManagedZoneOutputArgs) ElementType

type LookupManagedZoneResult

type LookupManagedZoneResult struct {
	// A textual description field.
	Description string `pulumi:"description"`
	// The fully qualified DNS name of this zone, e.g. `example.io.`.
	DnsName       string `pulumi:"dnsName"`
	Id            string `pulumi:"id"`
	ManagedZoneId int    `pulumi:"managedZoneId"`
	Name          string `pulumi:"name"`
	// The list of nameservers that will be authoritative for this
	// domain. Use NS records to redirect from your DNS provider to these names,
	// thus making Google Cloud DNS authoritative for this zone.
	NameServers []string `pulumi:"nameServers"`
	Project     *string  `pulumi:"project"`
	// The zone's visibility: public zones are exposed to the Internet,
	// while private zones are visible only to Virtual Private Cloud resources.
	Visibility string `pulumi:"visibility"`
}

A collection of values returned by getManagedZone.

func LookupManagedZone

func LookupManagedZone(ctx *pulumi.Context, args *LookupManagedZoneArgs, opts ...pulumi.InvokeOption) (*LookupManagedZoneResult, error)

Provides access to a zone's attributes within Google Cloud DNS. For more information see [the official documentation](https://cloud.google.com/dns/zones/) and [API](https://cloud.google.com/dns/api/v1/managedZones).

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		envDnsZone, err := dns.LookupManagedZone(ctx, &dns.LookupManagedZoneArgs{
			Name: "qa-zone",
		}, nil)
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "dns", &dns.RecordSetArgs{
			Name:        pulumi.String(fmt.Sprintf("my-address.%v", envDnsZone.DnsName)),
			Type:        pulumi.String("TXT"),
			Ttl:         pulumi.Int(300),
			ManagedZone: pulumi.String(envDnsZone.Name),
			Rrdatas: pulumi.StringArray{
				pulumi.String("test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupManagedZoneResultOutput

type LookupManagedZoneResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedZone.

func (LookupManagedZoneResultOutput) Description

A textual description field.

func (LookupManagedZoneResultOutput) DnsName

The fully qualified DNS name of this zone, e.g. `example.io.`.

func (LookupManagedZoneResultOutput) ElementType

func (LookupManagedZoneResultOutput) Id

func (LookupManagedZoneResultOutput) ManagedZoneId

func (LookupManagedZoneResultOutput) Name

func (LookupManagedZoneResultOutput) NameServers

The list of nameservers that will be authoritative for this domain. Use NS records to redirect from your DNS provider to these names, thus making Google Cloud DNS authoritative for this zone.

func (LookupManagedZoneResultOutput) Project

func (LookupManagedZoneResultOutput) ToLookupManagedZoneResultOutput

func (o LookupManagedZoneResultOutput) ToLookupManagedZoneResultOutput() LookupManagedZoneResultOutput

func (LookupManagedZoneResultOutput) ToLookupManagedZoneResultOutputWithContext

func (o LookupManagedZoneResultOutput) ToLookupManagedZoneResultOutputWithContext(ctx context.Context) LookupManagedZoneResultOutput

func (LookupManagedZoneResultOutput) Visibility

The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources.

type LookupRecordSetArgs

type LookupRecordSetArgs struct {
	// The Name of the zone.
	ManagedZone string `pulumi:"managedZone"`
	// The DNS name for the resource.
	Name string `pulumi:"name"`
	// The ID of the project for the Google Cloud.
	Project *string `pulumi:"project"`
	// The RRSet type. [See this table for supported types](https://cloud.google.com/dns/docs/records#record_type).
	Type string `pulumi:"type"`
}

A collection of arguments for invoking getRecordSet.

type LookupRecordSetOutputArgs

type LookupRecordSetOutputArgs struct {
	// The Name of the zone.
	ManagedZone pulumi.StringInput `pulumi:"managedZone"`
	// The DNS name for the resource.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the project for the Google Cloud.
	Project pulumi.StringPtrInput `pulumi:"project"`
	// The RRSet type. [See this table for supported types](https://cloud.google.com/dns/docs/records#record_type).
	Type pulumi.StringInput `pulumi:"type"`
}

A collection of arguments for invoking getRecordSet.

func (LookupRecordSetOutputArgs) ElementType

func (LookupRecordSetOutputArgs) ElementType() reflect.Type

type LookupRecordSetResult

type LookupRecordSetResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id          string  `pulumi:"id"`
	ManagedZone string  `pulumi:"managedZone"`
	Name        string  `pulumi:"name"`
	Project     *string `pulumi:"project"`
	// The string data for the records in this record set.
	Rrdatas []string `pulumi:"rrdatas"`
	// The time-to-live of this record set (seconds).
	Ttl  int    `pulumi:"ttl"`
	Type string `pulumi:"type"`
}

A collection of values returned by getRecordSet.

func LookupRecordSet

func LookupRecordSet(ctx *pulumi.Context, args *LookupRecordSetArgs, opts ...pulumi.InvokeOption) (*LookupRecordSetResult, error)

Get a DNS record set within Google Cloud DNS For more information see [the official documentation](https://cloud.google.com/dns/docs/records) and [API](https://cloud.google.com/dns/docs/reference/v1/resourceRecordSets)

## Example Usage

type LookupRecordSetResultOutput

type LookupRecordSetResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRecordSet.

func (LookupRecordSetResultOutput) ElementType

func (LookupRecordSetResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRecordSetResultOutput) ManagedZone

func (LookupRecordSetResultOutput) Name

func (LookupRecordSetResultOutput) Project

func (LookupRecordSetResultOutput) Rrdatas

The string data for the records in this record set.

func (LookupRecordSetResultOutput) ToLookupRecordSetResultOutput

func (o LookupRecordSetResultOutput) ToLookupRecordSetResultOutput() LookupRecordSetResultOutput

func (LookupRecordSetResultOutput) ToLookupRecordSetResultOutputWithContext

func (o LookupRecordSetResultOutput) ToLookupRecordSetResultOutputWithContext(ctx context.Context) LookupRecordSetResultOutput

func (LookupRecordSetResultOutput) Ttl

The time-to-live of this record set (seconds).

func (LookupRecordSetResultOutput) Type

type ManagedZone

type ManagedZone struct {
	pulumi.CustomResourceState

	// Cloud logging configuration
	// Structure is documented below.
	CloudLoggingConfig ManagedZoneCloudLoggingConfigOutput `pulumi:"cloudLoggingConfig"`
	// The time that this resource was created on the server.
	// This is in RFC3339 text format.
	CreationTime pulumi.StringOutput `pulumi:"creationTime"`
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringOutput `pulumi:"description"`
	// The DNS name of this managed zone, for instance "example.com.".
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// DNSSEC configuration
	// Structure is documented below.
	DnssecConfig ManagedZoneDnssecConfigPtrOutput `pulumi:"dnssecConfig"`
	// 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"`
	// Set this true to delete all records in the zone.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// The presence for this field indicates that outbound forwarding is enabled
	// for this zone. The value of this field contains the set of destinations
	// to forward to.
	// Structure is documented below.
	ForwardingConfig ManagedZoneForwardingConfigPtrOutput `pulumi:"forwardingConfig"`
	// A set of key/value label pairs to assign to this ManagedZone.
	//
	// **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"`
	// Unique identifier for the resource; defined by the server.
	ManagedZoneId pulumi.IntOutput `pulumi:"managedZoneId"`
	// User assigned name for this resource.
	// Must be unique within the project.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// Delegate your managedZone to these virtual name servers;
	// defined by the server
	NameServers pulumi.StringArrayOutput `pulumi:"nameServers"`
	// The presence of this field indicates that DNS Peering is enabled for this
	// zone. The value of this field contains the network to peer with.
	// Structure is documented below.
	PeeringConfig ManagedZonePeeringConfigPtrOutput `pulumi:"peeringConfig"`
	// For privately visible zones, the set of Virtual Private Cloud
	// resources that the zone is visible from. At least one of `gkeClusters` or `networks` must be specified.
	// Structure is documented below.
	PrivateVisibilityConfig ManagedZonePrivateVisibilityConfigPtrOutput `pulumi:"privateVisibilityConfig"`
	// 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"`
	// Specifies if this is a managed reverse lookup zone. If true, Cloud DNS will resolve reverse
	// lookup queries using automatically configured records for VPC resources. This only applies
	// to networks listed under `privateVisibilityConfig`.
	ReverseLookup pulumi.BoolPtrOutput `pulumi:"reverseLookup"`
	// The presence of this field indicates that this zone is backed by Service Directory. The value of this field contains information related to the namespace associated with the zone.
	// Structure is documented below.
	ServiceDirectoryConfig ManagedZoneServiceDirectoryConfigPtrOutput `pulumi:"serviceDirectoryConfig"`
	// The zone's visibility: public zones are exposed to the Internet,
	// while private zones are visible only to Virtual Private Cloud resources.
	// Default value is `public`.
	// Possible values are: `private`, `public`.
	Visibility pulumi.StringPtrOutput `pulumi:"visibility"`
}

A zone is a subtree of the DNS namespace under one administrative responsibility. A ManagedZone is a resource that represents a DNS zone hosted by the Cloud DNS service.

To get more information about ManagedZone, see:

* [API documentation](https://cloud.google.com/dns/api/v1/managedZones) * How-to Guides

## Example Usage

### Dns Managed Zone Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewManagedZone(ctx, "example-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("example-zone"),
			DnsName:     pulumi.String("my-domain.com."),
			Description: pulumi.String("Example DNS zone"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Private

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-2", &compute.NetworkArgs{
			Name:                  pulumi.String("network-2"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewManagedZone(ctx, "private-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("private-zone"),
			DnsName:     pulumi.String("private.example.com."),
			Description: pulumi.String("Example private DNS zone"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Visibility: pulumi.String("private"),
			PrivateVisibilityConfig: &dns.ManagedZonePrivateVisibilityConfigArgs{
				Networks: dns.ManagedZonePrivateVisibilityConfigNetworkArray{
					&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
						NetworkUrl: network_1.ID(),
					},
					&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
						NetworkUrl: network_2.ID(),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Private Forwarding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-2", &compute.NetworkArgs{
			Name:                  pulumi.String("network-2"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewManagedZone(ctx, "private-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("private-zone"),
			DnsName:     pulumi.String("private.example.com."),
			Description: pulumi.String("Example private DNS zone"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Visibility: pulumi.String("private"),
			PrivateVisibilityConfig: &dns.ManagedZonePrivateVisibilityConfigArgs{
				Networks: dns.ManagedZonePrivateVisibilityConfigNetworkArray{
					&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
						NetworkUrl: network_1.ID(),
					},
					&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
						NetworkUrl: network_2.ID(),
					},
				},
			},
			ForwardingConfig: &dns.ManagedZoneForwardingConfigArgs{
				TargetNameServers: dns.ManagedZoneForwardingConfigTargetNameServerArray{
					&dns.ManagedZoneForwardingConfigTargetNameServerArgs{
						Ipv4Address: pulumi.String("172.16.1.10"),
					},
					&dns.ManagedZoneForwardingConfigTargetNameServerArgs{
						Ipv4Address: pulumi.String("172.16.1.20"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Private Gke

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewSubnetwork(ctx, "subnetwork-1", &compute.SubnetworkArgs{
			Name:                  network_1.Name,
			Network:               network_1.Name,
			IpCidrRange:           pulumi.String("10.0.36.0/24"),
			Region:                pulumi.String("us-central1"),
			PrivateIpGoogleAccess: pulumi.Bool(true),
			SecondaryIpRanges: compute.SubnetworkSecondaryIpRangeArray{
				&compute.SubnetworkSecondaryIpRangeArgs{
					RangeName:   pulumi.String("pod"),
					IpCidrRange: pulumi.String("10.0.0.0/19"),
				},
				&compute.SubnetworkSecondaryIpRangeArgs{
					RangeName:   pulumi.String("svc"),
					IpCidrRange: pulumi.String("10.0.32.0/22"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = container.NewCluster(ctx, "cluster-1", &container.ClusterArgs{
			Name:             pulumi.String("cluster-1"),
			Location:         pulumi.String("us-central1-c"),
			InitialNodeCount: pulumi.Int(1),
			NetworkingMode:   pulumi.String("VPC_NATIVE"),
			DefaultSnatStatus: &container.ClusterDefaultSnatStatusArgs{
				Disabled: pulumi.Bool(true),
			},
			Network:    network_1.Name,
			Subnetwork: subnetwork_1.Name,
			PrivateClusterConfig: &container.ClusterPrivateClusterConfigArgs{
				EnablePrivateEndpoint: pulumi.Bool(true),
				EnablePrivateNodes:    pulumi.Bool(true),
				MasterIpv4CidrBlock:   pulumi.String("10.42.0.0/28"),
				MasterGlobalAccessConfig: &container.ClusterPrivateClusterConfigMasterGlobalAccessConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
			MasterAuthorizedNetworksConfig: nil,
			IpAllocationPolicy: &container.ClusterIpAllocationPolicyArgs{
				ClusterSecondaryRangeName: subnetwork_1.SecondaryIpRanges.ApplyT(func(secondaryIpRanges []compute.SubnetworkSecondaryIpRange) (*string, error) {
					return &secondaryIpRanges[0].RangeName, nil
				}).(pulumi.StringPtrOutput),
				ServicesSecondaryRangeName: subnetwork_1.SecondaryIpRanges.ApplyT(func(secondaryIpRanges []compute.SubnetworkSecondaryIpRange) (*string, error) {
					return &secondaryIpRanges[1].RangeName, nil
				}).(pulumi.StringPtrOutput),
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewManagedZone(ctx, "private-zone-gke", &dns.ManagedZoneArgs{
			Name:        pulumi.String("private-zone"),
			DnsName:     pulumi.String("private.example.com."),
			Description: pulumi.String("Example private DNS zone"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			Visibility: pulumi.String("private"),
			PrivateVisibilityConfig: &dns.ManagedZonePrivateVisibilityConfigArgs{
				GkeClusters: dns.ManagedZonePrivateVisibilityConfigGkeClusterArray{
					&dns.ManagedZonePrivateVisibilityConfigGkeClusterArgs{
						GkeClusterName: cluster_1.ID(),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Private Peering

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-source", &compute.NetworkArgs{
			Name:                  pulumi.String("network-source"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-target", &compute.NetworkArgs{
			Name:                  pulumi.String("network-target"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewManagedZone(ctx, "peering-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("peering-zone"),
			DnsName:     pulumi.String("peering.example.com."),
			Description: pulumi.String("Example private DNS peering zone"),
			Visibility:  pulumi.String("private"),
			PrivateVisibilityConfig: &dns.ManagedZonePrivateVisibilityConfigArgs{
				Networks: dns.ManagedZonePrivateVisibilityConfigNetworkArray{
					&dns.ManagedZonePrivateVisibilityConfigNetworkArgs{
						NetworkUrl: network_source.ID(),
					},
				},
			},
			PeeringConfig: &dns.ManagedZonePeeringConfigArgs{
				TargetNetwork: &dns.ManagedZonePeeringConfigTargetNetworkArgs{
					NetworkUrl: network_target.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Service Directory

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/servicedirectory"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := servicedirectory.NewNamespace(ctx, "example", &servicedirectory.NamespaceArgs{
			NamespaceId: pulumi.String("example"),
			Location:    pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewManagedZone(ctx, "sd-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("peering-zone"),
			DnsName:     pulumi.String("services.example.com."),
			Description: pulumi.String("Example private DNS Service Directory zone"),
			Visibility:  pulumi.String("private"),
			ServiceDirectoryConfig: &dns.ManagedZoneServiceDirectoryConfigArgs{
				Namespace: &dns.ManagedZoneServiceDirectoryConfigNamespaceArgs{
					NamespaceUrl: example.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network", &compute.NetworkArgs{
			Name:                  pulumi.String("network"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Dns Managed Zone Cloud Logging

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewManagedZone(ctx, "cloud-logging-enabled-zone", &dns.ManagedZoneArgs{
			Name:        pulumi.String("cloud-logging-enabled-zone"),
			DnsName:     pulumi.String("services.example.com."),
			Description: pulumi.String("Example cloud logging enabled DNS zone"),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
			CloudLoggingConfig: &dns.ManagedZoneCloudLoggingConfigArgs{
				EnableLogging: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ManagedZone can be imported using any of these accepted formats:

* `projects/{{project}}/managedZones/{{name}}`

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

* `{{name}}`

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

```sh $ pulumi import gcp:dns/managedZone:ManagedZone default projects/{{project}}/managedZones/{{name}} ```

```sh $ pulumi import gcp:dns/managedZone:ManagedZone default {{project}}/{{name}} ```

```sh $ pulumi import gcp:dns/managedZone:ManagedZone default {{name}} ```

func GetManagedZone

func GetManagedZone(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedZoneState, opts ...pulumi.ResourceOption) (*ManagedZone, error)

GetManagedZone gets an existing ManagedZone 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 NewManagedZone

func NewManagedZone(ctx *pulumi.Context,
	name string, args *ManagedZoneArgs, opts ...pulumi.ResourceOption) (*ManagedZone, error)

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

func (*ManagedZone) ElementType

func (*ManagedZone) ElementType() reflect.Type

func (*ManagedZone) ToManagedZoneOutput

func (i *ManagedZone) ToManagedZoneOutput() ManagedZoneOutput

func (*ManagedZone) ToManagedZoneOutputWithContext

func (i *ManagedZone) ToManagedZoneOutputWithContext(ctx context.Context) ManagedZoneOutput

type ManagedZoneArgs

type ManagedZoneArgs struct {
	// Cloud logging configuration
	// Structure is documented below.
	CloudLoggingConfig ManagedZoneCloudLoggingConfigPtrInput
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringPtrInput
	// The DNS name of this managed zone, for instance "example.com.".
	DnsName pulumi.StringInput
	// DNSSEC configuration
	// Structure is documented below.
	DnssecConfig ManagedZoneDnssecConfigPtrInput
	// Set this true to delete all records in the zone.
	ForceDestroy pulumi.BoolPtrInput
	// The presence for this field indicates that outbound forwarding is enabled
	// for this zone. The value of this field contains the set of destinations
	// to forward to.
	// Structure is documented below.
	ForwardingConfig ManagedZoneForwardingConfigPtrInput
	// A set of key/value label pairs to assign to this ManagedZone.
	//
	// **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
	// User assigned name for this resource.
	// Must be unique within the project.
	//
	// ***
	Name pulumi.StringPtrInput
	// The presence of this field indicates that DNS Peering is enabled for this
	// zone. The value of this field contains the network to peer with.
	// Structure is documented below.
	PeeringConfig ManagedZonePeeringConfigPtrInput
	// For privately visible zones, the set of Virtual Private Cloud
	// resources that the zone is visible from. At least one of `gkeClusters` or `networks` must be specified.
	// Structure is documented below.
	PrivateVisibilityConfig ManagedZonePrivateVisibilityConfigPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Specifies if this is a managed reverse lookup zone. If true, Cloud DNS will resolve reverse
	// lookup queries using automatically configured records for VPC resources. This only applies
	// to networks listed under `privateVisibilityConfig`.
	ReverseLookup pulumi.BoolPtrInput
	// The presence of this field indicates that this zone is backed by Service Directory. The value of this field contains information related to the namespace associated with the zone.
	// Structure is documented below.
	ServiceDirectoryConfig ManagedZoneServiceDirectoryConfigPtrInput
	// The zone's visibility: public zones are exposed to the Internet,
	// while private zones are visible only to Virtual Private Cloud resources.
	// Default value is `public`.
	// Possible values are: `private`, `public`.
	Visibility pulumi.StringPtrInput
}

The set of arguments for constructing a ManagedZone resource.

func (ManagedZoneArgs) ElementType

func (ManagedZoneArgs) ElementType() reflect.Type

type ManagedZoneArray

type ManagedZoneArray []ManagedZoneInput

func (ManagedZoneArray) ElementType

func (ManagedZoneArray) ElementType() reflect.Type

func (ManagedZoneArray) ToManagedZoneArrayOutput

func (i ManagedZoneArray) ToManagedZoneArrayOutput() ManagedZoneArrayOutput

func (ManagedZoneArray) ToManagedZoneArrayOutputWithContext

func (i ManagedZoneArray) ToManagedZoneArrayOutputWithContext(ctx context.Context) ManagedZoneArrayOutput

type ManagedZoneArrayInput

type ManagedZoneArrayInput interface {
	pulumi.Input

	ToManagedZoneArrayOutput() ManagedZoneArrayOutput
	ToManagedZoneArrayOutputWithContext(context.Context) ManagedZoneArrayOutput
}

ManagedZoneArrayInput is an input type that accepts ManagedZoneArray and ManagedZoneArrayOutput values. You can construct a concrete instance of `ManagedZoneArrayInput` via:

ManagedZoneArray{ ManagedZoneArgs{...} }

type ManagedZoneArrayOutput

type ManagedZoneArrayOutput struct{ *pulumi.OutputState }

func (ManagedZoneArrayOutput) ElementType

func (ManagedZoneArrayOutput) ElementType() reflect.Type

func (ManagedZoneArrayOutput) Index

func (ManagedZoneArrayOutput) ToManagedZoneArrayOutput

func (o ManagedZoneArrayOutput) ToManagedZoneArrayOutput() ManagedZoneArrayOutput

func (ManagedZoneArrayOutput) ToManagedZoneArrayOutputWithContext

func (o ManagedZoneArrayOutput) ToManagedZoneArrayOutputWithContext(ctx context.Context) ManagedZoneArrayOutput

type ManagedZoneCloudLoggingConfig

type ManagedZoneCloudLoggingConfig struct {
	// If set, enable query logging for this ManagedZone. False by default, making logging opt-in.
	EnableLogging bool `pulumi:"enableLogging"`
}

type ManagedZoneCloudLoggingConfigArgs

type ManagedZoneCloudLoggingConfigArgs struct {
	// If set, enable query logging for this ManagedZone. False by default, making logging opt-in.
	EnableLogging pulumi.BoolInput `pulumi:"enableLogging"`
}

func (ManagedZoneCloudLoggingConfigArgs) ElementType

func (ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigOutput

func (i ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigOutput() ManagedZoneCloudLoggingConfigOutput

func (ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigOutputWithContext

func (i ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigOutputWithContext(ctx context.Context) ManagedZoneCloudLoggingConfigOutput

func (ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigPtrOutput

func (i ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigPtrOutput() ManagedZoneCloudLoggingConfigPtrOutput

func (ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigPtrOutputWithContext

func (i ManagedZoneCloudLoggingConfigArgs) ToManagedZoneCloudLoggingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneCloudLoggingConfigPtrOutput

type ManagedZoneCloudLoggingConfigInput

type ManagedZoneCloudLoggingConfigInput interface {
	pulumi.Input

	ToManagedZoneCloudLoggingConfigOutput() ManagedZoneCloudLoggingConfigOutput
	ToManagedZoneCloudLoggingConfigOutputWithContext(context.Context) ManagedZoneCloudLoggingConfigOutput
}

ManagedZoneCloudLoggingConfigInput is an input type that accepts ManagedZoneCloudLoggingConfigArgs and ManagedZoneCloudLoggingConfigOutput values. You can construct a concrete instance of `ManagedZoneCloudLoggingConfigInput` via:

ManagedZoneCloudLoggingConfigArgs{...}

type ManagedZoneCloudLoggingConfigOutput

type ManagedZoneCloudLoggingConfigOutput struct{ *pulumi.OutputState }

func (ManagedZoneCloudLoggingConfigOutput) ElementType

func (ManagedZoneCloudLoggingConfigOutput) EnableLogging

If set, enable query logging for this ManagedZone. False by default, making logging opt-in.

func (ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigOutput

func (o ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigOutput() ManagedZoneCloudLoggingConfigOutput

func (ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigOutputWithContext

func (o ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigOutputWithContext(ctx context.Context) ManagedZoneCloudLoggingConfigOutput

func (ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigPtrOutput

func (o ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigPtrOutput() ManagedZoneCloudLoggingConfigPtrOutput

func (ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigPtrOutputWithContext

func (o ManagedZoneCloudLoggingConfigOutput) ToManagedZoneCloudLoggingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneCloudLoggingConfigPtrOutput

type ManagedZoneCloudLoggingConfigPtrInput

type ManagedZoneCloudLoggingConfigPtrInput interface {
	pulumi.Input

	ToManagedZoneCloudLoggingConfigPtrOutput() ManagedZoneCloudLoggingConfigPtrOutput
	ToManagedZoneCloudLoggingConfigPtrOutputWithContext(context.Context) ManagedZoneCloudLoggingConfigPtrOutput
}

ManagedZoneCloudLoggingConfigPtrInput is an input type that accepts ManagedZoneCloudLoggingConfigArgs, ManagedZoneCloudLoggingConfigPtr and ManagedZoneCloudLoggingConfigPtrOutput values. You can construct a concrete instance of `ManagedZoneCloudLoggingConfigPtrInput` via:

        ManagedZoneCloudLoggingConfigArgs{...}

or:

        nil

type ManagedZoneCloudLoggingConfigPtrOutput

type ManagedZoneCloudLoggingConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZoneCloudLoggingConfigPtrOutput) Elem

func (ManagedZoneCloudLoggingConfigPtrOutput) ElementType

func (ManagedZoneCloudLoggingConfigPtrOutput) EnableLogging

If set, enable query logging for this ManagedZone. False by default, making logging opt-in.

func (ManagedZoneCloudLoggingConfigPtrOutput) ToManagedZoneCloudLoggingConfigPtrOutput

func (o ManagedZoneCloudLoggingConfigPtrOutput) ToManagedZoneCloudLoggingConfigPtrOutput() ManagedZoneCloudLoggingConfigPtrOutput

func (ManagedZoneCloudLoggingConfigPtrOutput) ToManagedZoneCloudLoggingConfigPtrOutputWithContext

func (o ManagedZoneCloudLoggingConfigPtrOutput) ToManagedZoneCloudLoggingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneCloudLoggingConfigPtrOutput

type ManagedZoneDnssecConfig

type ManagedZoneDnssecConfig struct {
	// Specifies parameters that will be used for generating initial DnsKeys
	// for this ManagedZone. If you provide a spec for keySigning or zoneSigning,
	// you must also provide one for the other.
	// defaultKeySpecs can only be updated when the state is `off`.
	// Structure is documented below.
	DefaultKeySpecs []ManagedZoneDnssecConfigDefaultKeySpec `pulumi:"defaultKeySpecs"`
	// Identifies what kind of resource this is
	Kind *string `pulumi:"kind"`
	// Specifies the mechanism used to provide authenticated denial-of-existence responses.
	// nonExistence can only be updated when the state is `off`.
	// Possible values are: `nsec`, `nsec3`.
	NonExistence *string `pulumi:"nonExistence"`
	// Specifies whether DNSSEC is enabled, and what mode it is in
	// Possible values are: `off`, `on`, `transfer`.
	State *string `pulumi:"state"`
}

type ManagedZoneDnssecConfigArgs

type ManagedZoneDnssecConfigArgs struct {
	// Specifies parameters that will be used for generating initial DnsKeys
	// for this ManagedZone. If you provide a spec for keySigning or zoneSigning,
	// you must also provide one for the other.
	// defaultKeySpecs can only be updated when the state is `off`.
	// Structure is documented below.
	DefaultKeySpecs ManagedZoneDnssecConfigDefaultKeySpecArrayInput `pulumi:"defaultKeySpecs"`
	// Identifies what kind of resource this is
	Kind pulumi.StringPtrInput `pulumi:"kind"`
	// Specifies the mechanism used to provide authenticated denial-of-existence responses.
	// nonExistence can only be updated when the state is `off`.
	// Possible values are: `nsec`, `nsec3`.
	NonExistence pulumi.StringPtrInput `pulumi:"nonExistence"`
	// Specifies whether DNSSEC is enabled, and what mode it is in
	// Possible values are: `off`, `on`, `transfer`.
	State pulumi.StringPtrInput `pulumi:"state"`
}

func (ManagedZoneDnssecConfigArgs) ElementType

func (ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigOutput

func (i ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigOutput() ManagedZoneDnssecConfigOutput

func (ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigOutputWithContext

func (i ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigOutput

func (ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigPtrOutput

func (i ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigPtrOutput() ManagedZoneDnssecConfigPtrOutput

func (ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigPtrOutputWithContext

func (i ManagedZoneDnssecConfigArgs) ToManagedZoneDnssecConfigPtrOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigPtrOutput

type ManagedZoneDnssecConfigDefaultKeySpec

type ManagedZoneDnssecConfigDefaultKeySpec struct {
	// String mnemonic specifying the DNSSEC algorithm of this key
	// Possible values are: `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, `rsasha512`.
	Algorithm *string `pulumi:"algorithm"`
	// Length of the keys in bits
	KeyLength *int `pulumi:"keyLength"`
	// Specifies whether this is a key signing key (KSK) or a zone
	// signing key (ZSK). Key signing keys have the Secure Entry
	// Point flag set and, when active, will only be used to sign
	// resource record sets of type DNSKEY. Zone signing keys do
	// not have the Secure Entry Point flag set and will be used
	// to sign all other types of resource record sets.
	// Possible values are: `keySigning`, `zoneSigning`.
	KeyType *string `pulumi:"keyType"`
	// Identifies what kind of resource this is
	Kind *string `pulumi:"kind"`
}

type ManagedZoneDnssecConfigDefaultKeySpecArgs

type ManagedZoneDnssecConfigDefaultKeySpecArgs struct {
	// String mnemonic specifying the DNSSEC algorithm of this key
	// Possible values are: `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, `rsasha512`.
	Algorithm pulumi.StringPtrInput `pulumi:"algorithm"`
	// Length of the keys in bits
	KeyLength pulumi.IntPtrInput `pulumi:"keyLength"`
	// Specifies whether this is a key signing key (KSK) or a zone
	// signing key (ZSK). Key signing keys have the Secure Entry
	// Point flag set and, when active, will only be used to sign
	// resource record sets of type DNSKEY. Zone signing keys do
	// not have the Secure Entry Point flag set and will be used
	// to sign all other types of resource record sets.
	// Possible values are: `keySigning`, `zoneSigning`.
	KeyType pulumi.StringPtrInput `pulumi:"keyType"`
	// Identifies what kind of resource this is
	Kind pulumi.StringPtrInput `pulumi:"kind"`
}

func (ManagedZoneDnssecConfigDefaultKeySpecArgs) ElementType

func (ManagedZoneDnssecConfigDefaultKeySpecArgs) ToManagedZoneDnssecConfigDefaultKeySpecOutput

func (i ManagedZoneDnssecConfigDefaultKeySpecArgs) ToManagedZoneDnssecConfigDefaultKeySpecOutput() ManagedZoneDnssecConfigDefaultKeySpecOutput

func (ManagedZoneDnssecConfigDefaultKeySpecArgs) ToManagedZoneDnssecConfigDefaultKeySpecOutputWithContext

func (i ManagedZoneDnssecConfigDefaultKeySpecArgs) ToManagedZoneDnssecConfigDefaultKeySpecOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigDefaultKeySpecOutput

type ManagedZoneDnssecConfigDefaultKeySpecArray

type ManagedZoneDnssecConfigDefaultKeySpecArray []ManagedZoneDnssecConfigDefaultKeySpecInput

func (ManagedZoneDnssecConfigDefaultKeySpecArray) ElementType

func (ManagedZoneDnssecConfigDefaultKeySpecArray) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutput

func (i ManagedZoneDnssecConfigDefaultKeySpecArray) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutput() ManagedZoneDnssecConfigDefaultKeySpecArrayOutput

func (ManagedZoneDnssecConfigDefaultKeySpecArray) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutputWithContext

func (i ManagedZoneDnssecConfigDefaultKeySpecArray) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigDefaultKeySpecArrayOutput

type ManagedZoneDnssecConfigDefaultKeySpecArrayInput

type ManagedZoneDnssecConfigDefaultKeySpecArrayInput interface {
	pulumi.Input

	ToManagedZoneDnssecConfigDefaultKeySpecArrayOutput() ManagedZoneDnssecConfigDefaultKeySpecArrayOutput
	ToManagedZoneDnssecConfigDefaultKeySpecArrayOutputWithContext(context.Context) ManagedZoneDnssecConfigDefaultKeySpecArrayOutput
}

ManagedZoneDnssecConfigDefaultKeySpecArrayInput is an input type that accepts ManagedZoneDnssecConfigDefaultKeySpecArray and ManagedZoneDnssecConfigDefaultKeySpecArrayOutput values. You can construct a concrete instance of `ManagedZoneDnssecConfigDefaultKeySpecArrayInput` via:

ManagedZoneDnssecConfigDefaultKeySpecArray{ ManagedZoneDnssecConfigDefaultKeySpecArgs{...} }

type ManagedZoneDnssecConfigDefaultKeySpecArrayOutput

type ManagedZoneDnssecConfigDefaultKeySpecArrayOutput struct{ *pulumi.OutputState }

func (ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) ElementType

func (ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) Index

func (ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutput

func (o ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutput() ManagedZoneDnssecConfigDefaultKeySpecArrayOutput

func (ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutputWithContext

func (o ManagedZoneDnssecConfigDefaultKeySpecArrayOutput) ToManagedZoneDnssecConfigDefaultKeySpecArrayOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigDefaultKeySpecArrayOutput

type ManagedZoneDnssecConfigDefaultKeySpecInput

type ManagedZoneDnssecConfigDefaultKeySpecInput interface {
	pulumi.Input

	ToManagedZoneDnssecConfigDefaultKeySpecOutput() ManagedZoneDnssecConfigDefaultKeySpecOutput
	ToManagedZoneDnssecConfigDefaultKeySpecOutputWithContext(context.Context) ManagedZoneDnssecConfigDefaultKeySpecOutput
}

ManagedZoneDnssecConfigDefaultKeySpecInput is an input type that accepts ManagedZoneDnssecConfigDefaultKeySpecArgs and ManagedZoneDnssecConfigDefaultKeySpecOutput values. You can construct a concrete instance of `ManagedZoneDnssecConfigDefaultKeySpecInput` via:

ManagedZoneDnssecConfigDefaultKeySpecArgs{...}

type ManagedZoneDnssecConfigDefaultKeySpecOutput

type ManagedZoneDnssecConfigDefaultKeySpecOutput struct{ *pulumi.OutputState }

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) Algorithm

String mnemonic specifying the DNSSEC algorithm of this key Possible values are: `ecdsap256sha256`, `ecdsap384sha384`, `rsasha1`, `rsasha256`, `rsasha512`.

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) ElementType

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) KeyLength

Length of the keys in bits

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) KeyType

Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). Key signing keys have the Secure Entry Point flag set and, when active, will only be used to sign resource record sets of type DNSKEY. Zone signing keys do not have the Secure Entry Point flag set and will be used to sign all other types of resource record sets. Possible values are: `keySigning`, `zoneSigning`.

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) Kind

Identifies what kind of resource this is

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) ToManagedZoneDnssecConfigDefaultKeySpecOutput

func (o ManagedZoneDnssecConfigDefaultKeySpecOutput) ToManagedZoneDnssecConfigDefaultKeySpecOutput() ManagedZoneDnssecConfigDefaultKeySpecOutput

func (ManagedZoneDnssecConfigDefaultKeySpecOutput) ToManagedZoneDnssecConfigDefaultKeySpecOutputWithContext

func (o ManagedZoneDnssecConfigDefaultKeySpecOutput) ToManagedZoneDnssecConfigDefaultKeySpecOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigDefaultKeySpecOutput

type ManagedZoneDnssecConfigInput

type ManagedZoneDnssecConfigInput interface {
	pulumi.Input

	ToManagedZoneDnssecConfigOutput() ManagedZoneDnssecConfigOutput
	ToManagedZoneDnssecConfigOutputWithContext(context.Context) ManagedZoneDnssecConfigOutput
}

ManagedZoneDnssecConfigInput is an input type that accepts ManagedZoneDnssecConfigArgs and ManagedZoneDnssecConfigOutput values. You can construct a concrete instance of `ManagedZoneDnssecConfigInput` via:

ManagedZoneDnssecConfigArgs{...}

type ManagedZoneDnssecConfigOutput

type ManagedZoneDnssecConfigOutput struct{ *pulumi.OutputState }

func (ManagedZoneDnssecConfigOutput) DefaultKeySpecs

Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. If you provide a spec for keySigning or zoneSigning, you must also provide one for the other. defaultKeySpecs can only be updated when the state is `off`. Structure is documented below.

func (ManagedZoneDnssecConfigOutput) ElementType

func (ManagedZoneDnssecConfigOutput) Kind

Identifies what kind of resource this is

func (ManagedZoneDnssecConfigOutput) NonExistence

Specifies the mechanism used to provide authenticated denial-of-existence responses. nonExistence can only be updated when the state is `off`. Possible values are: `nsec`, `nsec3`.

func (ManagedZoneDnssecConfigOutput) State

Specifies whether DNSSEC is enabled, and what mode it is in Possible values are: `off`, `on`, `transfer`.

func (ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigOutput

func (o ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigOutput() ManagedZoneDnssecConfigOutput

func (ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigOutputWithContext

func (o ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigOutput

func (ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigPtrOutput

func (o ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigPtrOutput() ManagedZoneDnssecConfigPtrOutput

func (ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigPtrOutputWithContext

func (o ManagedZoneDnssecConfigOutput) ToManagedZoneDnssecConfigPtrOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigPtrOutput

type ManagedZoneDnssecConfigPtrInput

type ManagedZoneDnssecConfigPtrInput interface {
	pulumi.Input

	ToManagedZoneDnssecConfigPtrOutput() ManagedZoneDnssecConfigPtrOutput
	ToManagedZoneDnssecConfigPtrOutputWithContext(context.Context) ManagedZoneDnssecConfigPtrOutput
}

ManagedZoneDnssecConfigPtrInput is an input type that accepts ManagedZoneDnssecConfigArgs, ManagedZoneDnssecConfigPtr and ManagedZoneDnssecConfigPtrOutput values. You can construct a concrete instance of `ManagedZoneDnssecConfigPtrInput` via:

        ManagedZoneDnssecConfigArgs{...}

or:

        nil

type ManagedZoneDnssecConfigPtrOutput

type ManagedZoneDnssecConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZoneDnssecConfigPtrOutput) DefaultKeySpecs

Specifies parameters that will be used for generating initial DnsKeys for this ManagedZone. If you provide a spec for keySigning or zoneSigning, you must also provide one for the other. defaultKeySpecs can only be updated when the state is `off`. Structure is documented below.

func (ManagedZoneDnssecConfigPtrOutput) Elem

func (ManagedZoneDnssecConfigPtrOutput) ElementType

func (ManagedZoneDnssecConfigPtrOutput) Kind

Identifies what kind of resource this is

func (ManagedZoneDnssecConfigPtrOutput) NonExistence

Specifies the mechanism used to provide authenticated denial-of-existence responses. nonExistence can only be updated when the state is `off`. Possible values are: `nsec`, `nsec3`.

func (ManagedZoneDnssecConfigPtrOutput) State

Specifies whether DNSSEC is enabled, and what mode it is in Possible values are: `off`, `on`, `transfer`.

func (ManagedZoneDnssecConfigPtrOutput) ToManagedZoneDnssecConfigPtrOutput

func (o ManagedZoneDnssecConfigPtrOutput) ToManagedZoneDnssecConfigPtrOutput() ManagedZoneDnssecConfigPtrOutput

func (ManagedZoneDnssecConfigPtrOutput) ToManagedZoneDnssecConfigPtrOutputWithContext

func (o ManagedZoneDnssecConfigPtrOutput) ToManagedZoneDnssecConfigPtrOutputWithContext(ctx context.Context) ManagedZoneDnssecConfigPtrOutput

type ManagedZoneForwardingConfig

type ManagedZoneForwardingConfig struct {
	// List of target name servers to forward to. Cloud DNS will
	// select the best available name server if more than
	// one target is given.
	// Structure is documented below.
	TargetNameServers []ManagedZoneForwardingConfigTargetNameServer `pulumi:"targetNameServers"`
}

type ManagedZoneForwardingConfigArgs

type ManagedZoneForwardingConfigArgs struct {
	// List of target name servers to forward to. Cloud DNS will
	// select the best available name server if more than
	// one target is given.
	// Structure is documented below.
	TargetNameServers ManagedZoneForwardingConfigTargetNameServerArrayInput `pulumi:"targetNameServers"`
}

func (ManagedZoneForwardingConfigArgs) ElementType

func (ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigOutput

func (i ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigOutput() ManagedZoneForwardingConfigOutput

func (ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigOutputWithContext

func (i ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigOutput

func (ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigPtrOutput

func (i ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigPtrOutput() ManagedZoneForwardingConfigPtrOutput

func (ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigPtrOutputWithContext

func (i ManagedZoneForwardingConfigArgs) ToManagedZoneForwardingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigPtrOutput

type ManagedZoneForwardingConfigInput

type ManagedZoneForwardingConfigInput interface {
	pulumi.Input

	ToManagedZoneForwardingConfigOutput() ManagedZoneForwardingConfigOutput
	ToManagedZoneForwardingConfigOutputWithContext(context.Context) ManagedZoneForwardingConfigOutput
}

ManagedZoneForwardingConfigInput is an input type that accepts ManagedZoneForwardingConfigArgs and ManagedZoneForwardingConfigOutput values. You can construct a concrete instance of `ManagedZoneForwardingConfigInput` via:

ManagedZoneForwardingConfigArgs{...}

type ManagedZoneForwardingConfigOutput

type ManagedZoneForwardingConfigOutput struct{ *pulumi.OutputState }

func (ManagedZoneForwardingConfigOutput) ElementType

func (ManagedZoneForwardingConfigOutput) TargetNameServers

List of target name servers to forward to. Cloud DNS will select the best available name server if more than one target is given. Structure is documented below.

func (ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigOutput

func (o ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigOutput() ManagedZoneForwardingConfigOutput

func (ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigOutputWithContext

func (o ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigOutput

func (ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigPtrOutput

func (o ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigPtrOutput() ManagedZoneForwardingConfigPtrOutput

func (ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigPtrOutputWithContext

func (o ManagedZoneForwardingConfigOutput) ToManagedZoneForwardingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigPtrOutput

type ManagedZoneForwardingConfigPtrInput

type ManagedZoneForwardingConfigPtrInput interface {
	pulumi.Input

	ToManagedZoneForwardingConfigPtrOutput() ManagedZoneForwardingConfigPtrOutput
	ToManagedZoneForwardingConfigPtrOutputWithContext(context.Context) ManagedZoneForwardingConfigPtrOutput
}

ManagedZoneForwardingConfigPtrInput is an input type that accepts ManagedZoneForwardingConfigArgs, ManagedZoneForwardingConfigPtr and ManagedZoneForwardingConfigPtrOutput values. You can construct a concrete instance of `ManagedZoneForwardingConfigPtrInput` via:

        ManagedZoneForwardingConfigArgs{...}

or:

        nil

type ManagedZoneForwardingConfigPtrOutput

type ManagedZoneForwardingConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZoneForwardingConfigPtrOutput) Elem

func (ManagedZoneForwardingConfigPtrOutput) ElementType

func (ManagedZoneForwardingConfigPtrOutput) TargetNameServers

List of target name servers to forward to. Cloud DNS will select the best available name server if more than one target is given. Structure is documented below.

func (ManagedZoneForwardingConfigPtrOutput) ToManagedZoneForwardingConfigPtrOutput

func (o ManagedZoneForwardingConfigPtrOutput) ToManagedZoneForwardingConfigPtrOutput() ManagedZoneForwardingConfigPtrOutput

func (ManagedZoneForwardingConfigPtrOutput) ToManagedZoneForwardingConfigPtrOutputWithContext

func (o ManagedZoneForwardingConfigPtrOutput) ToManagedZoneForwardingConfigPtrOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigPtrOutput

type ManagedZoneForwardingConfigTargetNameServer

type ManagedZoneForwardingConfigTargetNameServer struct {
	// Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding
	// decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
	// to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target
	// Possible values are: `default`, `private`.
	ForwardingPath *string `pulumi:"forwardingPath"`
	// IPv4 address of a target name server.
	Ipv4Address string `pulumi:"ipv4Address"`
}

type ManagedZoneForwardingConfigTargetNameServerArgs

type ManagedZoneForwardingConfigTargetNameServerArgs struct {
	// Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding
	// decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
	// to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target
	// Possible values are: `default`, `private`.
	ForwardingPath pulumi.StringPtrInput `pulumi:"forwardingPath"`
	// IPv4 address of a target name server.
	Ipv4Address pulumi.StringInput `pulumi:"ipv4Address"`
}

func (ManagedZoneForwardingConfigTargetNameServerArgs) ElementType

func (ManagedZoneForwardingConfigTargetNameServerArgs) ToManagedZoneForwardingConfigTargetNameServerOutput

func (i ManagedZoneForwardingConfigTargetNameServerArgs) ToManagedZoneForwardingConfigTargetNameServerOutput() ManagedZoneForwardingConfigTargetNameServerOutput

func (ManagedZoneForwardingConfigTargetNameServerArgs) ToManagedZoneForwardingConfigTargetNameServerOutputWithContext

func (i ManagedZoneForwardingConfigTargetNameServerArgs) ToManagedZoneForwardingConfigTargetNameServerOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigTargetNameServerOutput

type ManagedZoneForwardingConfigTargetNameServerArray

type ManagedZoneForwardingConfigTargetNameServerArray []ManagedZoneForwardingConfigTargetNameServerInput

func (ManagedZoneForwardingConfigTargetNameServerArray) ElementType

func (ManagedZoneForwardingConfigTargetNameServerArray) ToManagedZoneForwardingConfigTargetNameServerArrayOutput

func (i ManagedZoneForwardingConfigTargetNameServerArray) ToManagedZoneForwardingConfigTargetNameServerArrayOutput() ManagedZoneForwardingConfigTargetNameServerArrayOutput

func (ManagedZoneForwardingConfigTargetNameServerArray) ToManagedZoneForwardingConfigTargetNameServerArrayOutputWithContext

func (i ManagedZoneForwardingConfigTargetNameServerArray) ToManagedZoneForwardingConfigTargetNameServerArrayOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigTargetNameServerArrayOutput

type ManagedZoneForwardingConfigTargetNameServerArrayInput

type ManagedZoneForwardingConfigTargetNameServerArrayInput interface {
	pulumi.Input

	ToManagedZoneForwardingConfigTargetNameServerArrayOutput() ManagedZoneForwardingConfigTargetNameServerArrayOutput
	ToManagedZoneForwardingConfigTargetNameServerArrayOutputWithContext(context.Context) ManagedZoneForwardingConfigTargetNameServerArrayOutput
}

ManagedZoneForwardingConfigTargetNameServerArrayInput is an input type that accepts ManagedZoneForwardingConfigTargetNameServerArray and ManagedZoneForwardingConfigTargetNameServerArrayOutput values. You can construct a concrete instance of `ManagedZoneForwardingConfigTargetNameServerArrayInput` via:

ManagedZoneForwardingConfigTargetNameServerArray{ ManagedZoneForwardingConfigTargetNameServerArgs{...} }

type ManagedZoneForwardingConfigTargetNameServerArrayOutput

type ManagedZoneForwardingConfigTargetNameServerArrayOutput struct{ *pulumi.OutputState }

func (ManagedZoneForwardingConfigTargetNameServerArrayOutput) ElementType

func (ManagedZoneForwardingConfigTargetNameServerArrayOutput) Index

func (ManagedZoneForwardingConfigTargetNameServerArrayOutput) ToManagedZoneForwardingConfigTargetNameServerArrayOutput

func (ManagedZoneForwardingConfigTargetNameServerArrayOutput) ToManagedZoneForwardingConfigTargetNameServerArrayOutputWithContext

func (o ManagedZoneForwardingConfigTargetNameServerArrayOutput) ToManagedZoneForwardingConfigTargetNameServerArrayOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigTargetNameServerArrayOutput

type ManagedZoneForwardingConfigTargetNameServerInput

type ManagedZoneForwardingConfigTargetNameServerInput interface {
	pulumi.Input

	ToManagedZoneForwardingConfigTargetNameServerOutput() ManagedZoneForwardingConfigTargetNameServerOutput
	ToManagedZoneForwardingConfigTargetNameServerOutputWithContext(context.Context) ManagedZoneForwardingConfigTargetNameServerOutput
}

ManagedZoneForwardingConfigTargetNameServerInput is an input type that accepts ManagedZoneForwardingConfigTargetNameServerArgs and ManagedZoneForwardingConfigTargetNameServerOutput values. You can construct a concrete instance of `ManagedZoneForwardingConfigTargetNameServerInput` via:

ManagedZoneForwardingConfigTargetNameServerArgs{...}

type ManagedZoneForwardingConfigTargetNameServerOutput

type ManagedZoneForwardingConfigTargetNameServerOutput struct{ *pulumi.OutputState }

func (ManagedZoneForwardingConfigTargetNameServerOutput) ElementType

func (ManagedZoneForwardingConfigTargetNameServerOutput) ForwardingPath

Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target Possible values are: `default`, `private`.

func (ManagedZoneForwardingConfigTargetNameServerOutput) Ipv4Address

IPv4 address of a target name server.

func (ManagedZoneForwardingConfigTargetNameServerOutput) ToManagedZoneForwardingConfigTargetNameServerOutput

func (o ManagedZoneForwardingConfigTargetNameServerOutput) ToManagedZoneForwardingConfigTargetNameServerOutput() ManagedZoneForwardingConfigTargetNameServerOutput

func (ManagedZoneForwardingConfigTargetNameServerOutput) ToManagedZoneForwardingConfigTargetNameServerOutputWithContext

func (o ManagedZoneForwardingConfigTargetNameServerOutput) ToManagedZoneForwardingConfigTargetNameServerOutputWithContext(ctx context.Context) ManagedZoneForwardingConfigTargetNameServerOutput

type ManagedZoneInput

type ManagedZoneInput interface {
	pulumi.Input

	ToManagedZoneOutput() ManagedZoneOutput
	ToManagedZoneOutputWithContext(ctx context.Context) ManagedZoneOutput
}

type ManagedZoneMap

type ManagedZoneMap map[string]ManagedZoneInput

func (ManagedZoneMap) ElementType

func (ManagedZoneMap) ElementType() reflect.Type

func (ManagedZoneMap) ToManagedZoneMapOutput

func (i ManagedZoneMap) ToManagedZoneMapOutput() ManagedZoneMapOutput

func (ManagedZoneMap) ToManagedZoneMapOutputWithContext

func (i ManagedZoneMap) ToManagedZoneMapOutputWithContext(ctx context.Context) ManagedZoneMapOutput

type ManagedZoneMapInput

type ManagedZoneMapInput interface {
	pulumi.Input

	ToManagedZoneMapOutput() ManagedZoneMapOutput
	ToManagedZoneMapOutputWithContext(context.Context) ManagedZoneMapOutput
}

ManagedZoneMapInput is an input type that accepts ManagedZoneMap and ManagedZoneMapOutput values. You can construct a concrete instance of `ManagedZoneMapInput` via:

ManagedZoneMap{ "key": ManagedZoneArgs{...} }

type ManagedZoneMapOutput

type ManagedZoneMapOutput struct{ *pulumi.OutputState }

func (ManagedZoneMapOutput) ElementType

func (ManagedZoneMapOutput) ElementType() reflect.Type

func (ManagedZoneMapOutput) MapIndex

func (ManagedZoneMapOutput) ToManagedZoneMapOutput

func (o ManagedZoneMapOutput) ToManagedZoneMapOutput() ManagedZoneMapOutput

func (ManagedZoneMapOutput) ToManagedZoneMapOutputWithContext

func (o ManagedZoneMapOutput) ToManagedZoneMapOutputWithContext(ctx context.Context) ManagedZoneMapOutput

type ManagedZoneOutput

type ManagedZoneOutput struct{ *pulumi.OutputState }

func (ManagedZoneOutput) CloudLoggingConfig

Cloud logging configuration Structure is documented below.

func (ManagedZoneOutput) CreationTime

func (o ManagedZoneOutput) CreationTime() pulumi.StringOutput

The time that this resource was created on the server. This is in RFC3339 text format.

func (ManagedZoneOutput) Description

func (o ManagedZoneOutput) Description() pulumi.StringOutput

A textual description field. Defaults to 'Managed by Pulumi'.

func (ManagedZoneOutput) DnsName

The DNS name of this managed zone, for instance "example.com.".

func (ManagedZoneOutput) DnssecConfig

DNSSEC configuration Structure is documented below.

func (ManagedZoneOutput) EffectiveLabels

func (o ManagedZoneOutput) 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 (ManagedZoneOutput) ElementType

func (ManagedZoneOutput) ElementType() reflect.Type

func (ManagedZoneOutput) ForceDestroy

func (o ManagedZoneOutput) ForceDestroy() pulumi.BoolPtrOutput

Set this true to delete all records in the zone.

func (ManagedZoneOutput) ForwardingConfig

The presence for this field indicates that outbound forwarding is enabled for this zone. The value of this field contains the set of destinations to forward to. Structure is documented below.

func (ManagedZoneOutput) Labels

A set of key/value label pairs to assign to this ManagedZone.

**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 (ManagedZoneOutput) ManagedZoneId

func (o ManagedZoneOutput) ManagedZoneId() pulumi.IntOutput

Unique identifier for the resource; defined by the server.

func (ManagedZoneOutput) Name

User assigned name for this resource. Must be unique within the project.

***

func (ManagedZoneOutput) NameServers

func (o ManagedZoneOutput) NameServers() pulumi.StringArrayOutput

Delegate your managedZone to these virtual name servers; defined by the server

func (ManagedZoneOutput) PeeringConfig

The presence of this field indicates that DNS Peering is enabled for this zone. The value of this field contains the network to peer with. Structure is documented below.

func (ManagedZoneOutput) PrivateVisibilityConfig

For privately visible zones, the set of Virtual Private Cloud resources that the zone is visible from. At least one of `gkeClusters` or `networks` must be specified. Structure is documented below.

func (ManagedZoneOutput) Project

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

func (ManagedZoneOutput) PulumiLabels

func (o ManagedZoneOutput) PulumiLabels() pulumi.StringMapOutput

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

func (ManagedZoneOutput) ReverseLookup

func (o ManagedZoneOutput) ReverseLookup() pulumi.BoolPtrOutput

Specifies if this is a managed reverse lookup zone. If true, Cloud DNS will resolve reverse lookup queries using automatically configured records for VPC resources. This only applies to networks listed under `privateVisibilityConfig`.

func (ManagedZoneOutput) ServiceDirectoryConfig

The presence of this field indicates that this zone is backed by Service Directory. The value of this field contains information related to the namespace associated with the zone. Structure is documented below.

func (ManagedZoneOutput) ToManagedZoneOutput

func (o ManagedZoneOutput) ToManagedZoneOutput() ManagedZoneOutput

func (ManagedZoneOutput) ToManagedZoneOutputWithContext

func (o ManagedZoneOutput) ToManagedZoneOutputWithContext(ctx context.Context) ManagedZoneOutput

func (ManagedZoneOutput) Visibility

func (o ManagedZoneOutput) Visibility() pulumi.StringPtrOutput

The zone's visibility: public zones are exposed to the Internet, while private zones are visible only to Virtual Private Cloud resources. Default value is `public`. Possible values are: `private`, `public`.

type ManagedZonePeeringConfig

type ManagedZonePeeringConfig struct {
	// The network with which to peer.
	// Structure is documented below.
	TargetNetwork ManagedZonePeeringConfigTargetNetwork `pulumi:"targetNetwork"`
}

type ManagedZonePeeringConfigArgs

type ManagedZonePeeringConfigArgs struct {
	// The network with which to peer.
	// Structure is documented below.
	TargetNetwork ManagedZonePeeringConfigTargetNetworkInput `pulumi:"targetNetwork"`
}

func (ManagedZonePeeringConfigArgs) ElementType

func (ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigOutput

func (i ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigOutput() ManagedZonePeeringConfigOutput

func (ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigOutputWithContext

func (i ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigOutputWithContext(ctx context.Context) ManagedZonePeeringConfigOutput

func (ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigPtrOutput

func (i ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigPtrOutput() ManagedZonePeeringConfigPtrOutput

func (ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigPtrOutputWithContext

func (i ManagedZonePeeringConfigArgs) ToManagedZonePeeringConfigPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigPtrOutput

type ManagedZonePeeringConfigInput

type ManagedZonePeeringConfigInput interface {
	pulumi.Input

	ToManagedZonePeeringConfigOutput() ManagedZonePeeringConfigOutput
	ToManagedZonePeeringConfigOutputWithContext(context.Context) ManagedZonePeeringConfigOutput
}

ManagedZonePeeringConfigInput is an input type that accepts ManagedZonePeeringConfigArgs and ManagedZonePeeringConfigOutput values. You can construct a concrete instance of `ManagedZonePeeringConfigInput` via:

ManagedZonePeeringConfigArgs{...}

type ManagedZonePeeringConfigOutput

type ManagedZonePeeringConfigOutput struct{ *pulumi.OutputState }

func (ManagedZonePeeringConfigOutput) ElementType

func (ManagedZonePeeringConfigOutput) TargetNetwork

The network with which to peer. Structure is documented below.

func (ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigOutput

func (o ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigOutput() ManagedZonePeeringConfigOutput

func (ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigOutputWithContext

func (o ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigOutputWithContext(ctx context.Context) ManagedZonePeeringConfigOutput

func (ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigPtrOutput

func (o ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigPtrOutput() ManagedZonePeeringConfigPtrOutput

func (ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigPtrOutputWithContext

func (o ManagedZonePeeringConfigOutput) ToManagedZonePeeringConfigPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigPtrOutput

type ManagedZonePeeringConfigPtrInput

type ManagedZonePeeringConfigPtrInput interface {
	pulumi.Input

	ToManagedZonePeeringConfigPtrOutput() ManagedZonePeeringConfigPtrOutput
	ToManagedZonePeeringConfigPtrOutputWithContext(context.Context) ManagedZonePeeringConfigPtrOutput
}

ManagedZonePeeringConfigPtrInput is an input type that accepts ManagedZonePeeringConfigArgs, ManagedZonePeeringConfigPtr and ManagedZonePeeringConfigPtrOutput values. You can construct a concrete instance of `ManagedZonePeeringConfigPtrInput` via:

        ManagedZonePeeringConfigArgs{...}

or:

        nil

type ManagedZonePeeringConfigPtrOutput

type ManagedZonePeeringConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZonePeeringConfigPtrOutput) Elem

func (ManagedZonePeeringConfigPtrOutput) ElementType

func (ManagedZonePeeringConfigPtrOutput) TargetNetwork

The network with which to peer. Structure is documented below.

func (ManagedZonePeeringConfigPtrOutput) ToManagedZonePeeringConfigPtrOutput

func (o ManagedZonePeeringConfigPtrOutput) ToManagedZonePeeringConfigPtrOutput() ManagedZonePeeringConfigPtrOutput

func (ManagedZonePeeringConfigPtrOutput) ToManagedZonePeeringConfigPtrOutputWithContext

func (o ManagedZonePeeringConfigPtrOutput) ToManagedZonePeeringConfigPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigPtrOutput

type ManagedZonePeeringConfigTargetNetwork

type ManagedZonePeeringConfigTargetNetwork struct {
	// The id or fully qualified URL of the VPC network to forward queries to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl string `pulumi:"networkUrl"`
}

type ManagedZonePeeringConfigTargetNetworkArgs

type ManagedZonePeeringConfigTargetNetworkArgs struct {
	// The id or fully qualified URL of the VPC network to forward queries to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
}

func (ManagedZonePeeringConfigTargetNetworkArgs) ElementType

func (ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkOutput

func (i ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkOutput() ManagedZonePeeringConfigTargetNetworkOutput

func (ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkOutputWithContext

func (i ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkOutputWithContext(ctx context.Context) ManagedZonePeeringConfigTargetNetworkOutput

func (ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkPtrOutput

func (i ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkPtrOutput() ManagedZonePeeringConfigTargetNetworkPtrOutput

func (ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext

func (i ManagedZonePeeringConfigTargetNetworkArgs) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigTargetNetworkPtrOutput

type ManagedZonePeeringConfigTargetNetworkInput

type ManagedZonePeeringConfigTargetNetworkInput interface {
	pulumi.Input

	ToManagedZonePeeringConfigTargetNetworkOutput() ManagedZonePeeringConfigTargetNetworkOutput
	ToManagedZonePeeringConfigTargetNetworkOutputWithContext(context.Context) ManagedZonePeeringConfigTargetNetworkOutput
}

ManagedZonePeeringConfigTargetNetworkInput is an input type that accepts ManagedZonePeeringConfigTargetNetworkArgs and ManagedZonePeeringConfigTargetNetworkOutput values. You can construct a concrete instance of `ManagedZonePeeringConfigTargetNetworkInput` via:

ManagedZonePeeringConfigTargetNetworkArgs{...}

type ManagedZonePeeringConfigTargetNetworkOutput

type ManagedZonePeeringConfigTargetNetworkOutput struct{ *pulumi.OutputState }

func (ManagedZonePeeringConfigTargetNetworkOutput) ElementType

func (ManagedZonePeeringConfigTargetNetworkOutput) NetworkUrl

The id or fully qualified URL of the VPC network to forward queries to. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`

func (ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkOutput

func (o ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkOutput() ManagedZonePeeringConfigTargetNetworkOutput

func (ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkOutputWithContext

func (o ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkOutputWithContext(ctx context.Context) ManagedZonePeeringConfigTargetNetworkOutput

func (ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutput

func (o ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutput() ManagedZonePeeringConfigTargetNetworkPtrOutput

func (ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext

func (o ManagedZonePeeringConfigTargetNetworkOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigTargetNetworkPtrOutput

type ManagedZonePeeringConfigTargetNetworkPtrInput

type ManagedZonePeeringConfigTargetNetworkPtrInput interface {
	pulumi.Input

	ToManagedZonePeeringConfigTargetNetworkPtrOutput() ManagedZonePeeringConfigTargetNetworkPtrOutput
	ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext(context.Context) ManagedZonePeeringConfigTargetNetworkPtrOutput
}

ManagedZonePeeringConfigTargetNetworkPtrInput is an input type that accepts ManagedZonePeeringConfigTargetNetworkArgs, ManagedZonePeeringConfigTargetNetworkPtr and ManagedZonePeeringConfigTargetNetworkPtrOutput values. You can construct a concrete instance of `ManagedZonePeeringConfigTargetNetworkPtrInput` via:

        ManagedZonePeeringConfigTargetNetworkArgs{...}

or:

        nil

type ManagedZonePeeringConfigTargetNetworkPtrOutput

type ManagedZonePeeringConfigTargetNetworkPtrOutput struct{ *pulumi.OutputState }

func (ManagedZonePeeringConfigTargetNetworkPtrOutput) Elem

func (ManagedZonePeeringConfigTargetNetworkPtrOutput) ElementType

func (ManagedZonePeeringConfigTargetNetworkPtrOutput) NetworkUrl

The id or fully qualified URL of the VPC network to forward queries to. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`

func (ManagedZonePeeringConfigTargetNetworkPtrOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutput

func (o ManagedZonePeeringConfigTargetNetworkPtrOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutput() ManagedZonePeeringConfigTargetNetworkPtrOutput

func (ManagedZonePeeringConfigTargetNetworkPtrOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext

func (o ManagedZonePeeringConfigTargetNetworkPtrOutput) ToManagedZonePeeringConfigTargetNetworkPtrOutputWithContext(ctx context.Context) ManagedZonePeeringConfigTargetNetworkPtrOutput

type ManagedZonePrivateVisibilityConfig

type ManagedZonePrivateVisibilityConfig struct {
	// The list of Google Kubernetes Engine clusters that can see this zone.
	// Structure is documented below.
	GkeClusters []ManagedZonePrivateVisibilityConfigGkeCluster `pulumi:"gkeClusters"`
	Networks    []ManagedZonePrivateVisibilityConfigNetwork    `pulumi:"networks"`
}

type ManagedZonePrivateVisibilityConfigArgs

type ManagedZonePrivateVisibilityConfigArgs struct {
	// The list of Google Kubernetes Engine clusters that can see this zone.
	// Structure is documented below.
	GkeClusters ManagedZonePrivateVisibilityConfigGkeClusterArrayInput `pulumi:"gkeClusters"`
	Networks    ManagedZonePrivateVisibilityConfigNetworkArrayInput    `pulumi:"networks"`
}

func (ManagedZonePrivateVisibilityConfigArgs) ElementType

func (ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigOutput

func (i ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigOutput() ManagedZonePrivateVisibilityConfigOutput

func (ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigOutputWithContext

func (i ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigOutput

func (ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigPtrOutput

func (i ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigPtrOutput() ManagedZonePrivateVisibilityConfigPtrOutput

func (ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext

func (i ManagedZonePrivateVisibilityConfigArgs) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigPtrOutput

type ManagedZonePrivateVisibilityConfigGkeCluster

type ManagedZonePrivateVisibilityConfigGkeCluster struct {
	// The resource name of the cluster to bind this ManagedZone to.
	// This should be specified in the format like
	// `projects/*/locations/*/clusters/*`
	GkeClusterName string `pulumi:"gkeClusterName"`
}

type ManagedZonePrivateVisibilityConfigGkeClusterArgs

type ManagedZonePrivateVisibilityConfigGkeClusterArgs struct {
	// The resource name of the cluster to bind this ManagedZone to.
	// This should be specified in the format like
	// `projects/*/locations/*/clusters/*`
	GkeClusterName pulumi.StringInput `pulumi:"gkeClusterName"`
}

func (ManagedZonePrivateVisibilityConfigGkeClusterArgs) ElementType

func (ManagedZonePrivateVisibilityConfigGkeClusterArgs) ToManagedZonePrivateVisibilityConfigGkeClusterOutput

func (i ManagedZonePrivateVisibilityConfigGkeClusterArgs) ToManagedZonePrivateVisibilityConfigGkeClusterOutput() ManagedZonePrivateVisibilityConfigGkeClusterOutput

func (ManagedZonePrivateVisibilityConfigGkeClusterArgs) ToManagedZonePrivateVisibilityConfigGkeClusterOutputWithContext

func (i ManagedZonePrivateVisibilityConfigGkeClusterArgs) ToManagedZonePrivateVisibilityConfigGkeClusterOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigGkeClusterOutput

type ManagedZonePrivateVisibilityConfigGkeClusterArray

type ManagedZonePrivateVisibilityConfigGkeClusterArray []ManagedZonePrivateVisibilityConfigGkeClusterInput

func (ManagedZonePrivateVisibilityConfigGkeClusterArray) ElementType

func (ManagedZonePrivateVisibilityConfigGkeClusterArray) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

func (i ManagedZonePrivateVisibilityConfigGkeClusterArray) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutput() ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

func (ManagedZonePrivateVisibilityConfigGkeClusterArray) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutputWithContext

func (i ManagedZonePrivateVisibilityConfigGkeClusterArray) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

type ManagedZonePrivateVisibilityConfigGkeClusterArrayInput

type ManagedZonePrivateVisibilityConfigGkeClusterArrayInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutput() ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput
	ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput
}

ManagedZonePrivateVisibilityConfigGkeClusterArrayInput is an input type that accepts ManagedZonePrivateVisibilityConfigGkeClusterArray and ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigGkeClusterArrayInput` via:

ManagedZonePrivateVisibilityConfigGkeClusterArray{ ManagedZonePrivateVisibilityConfigGkeClusterArgs{...} }

type ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

type ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput) ElementType

func (ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput) Index

func (ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

func (ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutputWithContext

func (o ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput) ToManagedZonePrivateVisibilityConfigGkeClusterArrayOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigGkeClusterArrayOutput

type ManagedZonePrivateVisibilityConfigGkeClusterInput

type ManagedZonePrivateVisibilityConfigGkeClusterInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigGkeClusterOutput() ManagedZonePrivateVisibilityConfigGkeClusterOutput
	ToManagedZonePrivateVisibilityConfigGkeClusterOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigGkeClusterOutput
}

ManagedZonePrivateVisibilityConfigGkeClusterInput is an input type that accepts ManagedZonePrivateVisibilityConfigGkeClusterArgs and ManagedZonePrivateVisibilityConfigGkeClusterOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigGkeClusterInput` via:

ManagedZonePrivateVisibilityConfigGkeClusterArgs{...}

type ManagedZonePrivateVisibilityConfigGkeClusterOutput

type ManagedZonePrivateVisibilityConfigGkeClusterOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigGkeClusterOutput) ElementType

func (ManagedZonePrivateVisibilityConfigGkeClusterOutput) GkeClusterName

The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like `projects/*/locations/*/clusters/*`

func (ManagedZonePrivateVisibilityConfigGkeClusterOutput) ToManagedZonePrivateVisibilityConfigGkeClusterOutput

func (o ManagedZonePrivateVisibilityConfigGkeClusterOutput) ToManagedZonePrivateVisibilityConfigGkeClusterOutput() ManagedZonePrivateVisibilityConfigGkeClusterOutput

func (ManagedZonePrivateVisibilityConfigGkeClusterOutput) ToManagedZonePrivateVisibilityConfigGkeClusterOutputWithContext

func (o ManagedZonePrivateVisibilityConfigGkeClusterOutput) ToManagedZonePrivateVisibilityConfigGkeClusterOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigGkeClusterOutput

type ManagedZonePrivateVisibilityConfigInput

type ManagedZonePrivateVisibilityConfigInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigOutput() ManagedZonePrivateVisibilityConfigOutput
	ToManagedZonePrivateVisibilityConfigOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigOutput
}

ManagedZonePrivateVisibilityConfigInput is an input type that accepts ManagedZonePrivateVisibilityConfigArgs and ManagedZonePrivateVisibilityConfigOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigInput` via:

ManagedZonePrivateVisibilityConfigArgs{...}

type ManagedZonePrivateVisibilityConfigNetwork

type ManagedZonePrivateVisibilityConfigNetwork struct {
	// The id or fully qualified URL of the VPC network to bind to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl string `pulumi:"networkUrl"`
}

type ManagedZonePrivateVisibilityConfigNetworkArgs

type ManagedZonePrivateVisibilityConfigNetworkArgs struct {
	// The id or fully qualified URL of the VPC network to bind to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
}

func (ManagedZonePrivateVisibilityConfigNetworkArgs) ElementType

func (ManagedZonePrivateVisibilityConfigNetworkArgs) ToManagedZonePrivateVisibilityConfigNetworkOutput

func (i ManagedZonePrivateVisibilityConfigNetworkArgs) ToManagedZonePrivateVisibilityConfigNetworkOutput() ManagedZonePrivateVisibilityConfigNetworkOutput

func (ManagedZonePrivateVisibilityConfigNetworkArgs) ToManagedZonePrivateVisibilityConfigNetworkOutputWithContext

func (i ManagedZonePrivateVisibilityConfigNetworkArgs) ToManagedZonePrivateVisibilityConfigNetworkOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigNetworkOutput

type ManagedZonePrivateVisibilityConfigNetworkArray

type ManagedZonePrivateVisibilityConfigNetworkArray []ManagedZonePrivateVisibilityConfigNetworkInput

func (ManagedZonePrivateVisibilityConfigNetworkArray) ElementType

func (ManagedZonePrivateVisibilityConfigNetworkArray) ToManagedZonePrivateVisibilityConfigNetworkArrayOutput

func (i ManagedZonePrivateVisibilityConfigNetworkArray) ToManagedZonePrivateVisibilityConfigNetworkArrayOutput() ManagedZonePrivateVisibilityConfigNetworkArrayOutput

func (ManagedZonePrivateVisibilityConfigNetworkArray) ToManagedZonePrivateVisibilityConfigNetworkArrayOutputWithContext

func (i ManagedZonePrivateVisibilityConfigNetworkArray) ToManagedZonePrivateVisibilityConfigNetworkArrayOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigNetworkArrayOutput

type ManagedZonePrivateVisibilityConfigNetworkArrayInput

type ManagedZonePrivateVisibilityConfigNetworkArrayInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigNetworkArrayOutput() ManagedZonePrivateVisibilityConfigNetworkArrayOutput
	ToManagedZonePrivateVisibilityConfigNetworkArrayOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigNetworkArrayOutput
}

ManagedZonePrivateVisibilityConfigNetworkArrayInput is an input type that accepts ManagedZonePrivateVisibilityConfigNetworkArray and ManagedZonePrivateVisibilityConfigNetworkArrayOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigNetworkArrayInput` via:

ManagedZonePrivateVisibilityConfigNetworkArray{ ManagedZonePrivateVisibilityConfigNetworkArgs{...} }

type ManagedZonePrivateVisibilityConfigNetworkArrayOutput

type ManagedZonePrivateVisibilityConfigNetworkArrayOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigNetworkArrayOutput) ElementType

func (ManagedZonePrivateVisibilityConfigNetworkArrayOutput) Index

func (ManagedZonePrivateVisibilityConfigNetworkArrayOutput) ToManagedZonePrivateVisibilityConfigNetworkArrayOutput

func (ManagedZonePrivateVisibilityConfigNetworkArrayOutput) ToManagedZonePrivateVisibilityConfigNetworkArrayOutputWithContext

func (o ManagedZonePrivateVisibilityConfigNetworkArrayOutput) ToManagedZonePrivateVisibilityConfigNetworkArrayOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigNetworkArrayOutput

type ManagedZonePrivateVisibilityConfigNetworkInput

type ManagedZonePrivateVisibilityConfigNetworkInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigNetworkOutput() ManagedZonePrivateVisibilityConfigNetworkOutput
	ToManagedZonePrivateVisibilityConfigNetworkOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigNetworkOutput
}

ManagedZonePrivateVisibilityConfigNetworkInput is an input type that accepts ManagedZonePrivateVisibilityConfigNetworkArgs and ManagedZonePrivateVisibilityConfigNetworkOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigNetworkInput` via:

ManagedZonePrivateVisibilityConfigNetworkArgs{...}

type ManagedZonePrivateVisibilityConfigNetworkOutput

type ManagedZonePrivateVisibilityConfigNetworkOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigNetworkOutput) ElementType

func (ManagedZonePrivateVisibilityConfigNetworkOutput) NetworkUrl

The id or fully qualified URL of the VPC network to bind to. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`

func (ManagedZonePrivateVisibilityConfigNetworkOutput) ToManagedZonePrivateVisibilityConfigNetworkOutput

func (o ManagedZonePrivateVisibilityConfigNetworkOutput) ToManagedZonePrivateVisibilityConfigNetworkOutput() ManagedZonePrivateVisibilityConfigNetworkOutput

func (ManagedZonePrivateVisibilityConfigNetworkOutput) ToManagedZonePrivateVisibilityConfigNetworkOutputWithContext

func (o ManagedZonePrivateVisibilityConfigNetworkOutput) ToManagedZonePrivateVisibilityConfigNetworkOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigNetworkOutput

type ManagedZonePrivateVisibilityConfigOutput

type ManagedZonePrivateVisibilityConfigOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigOutput) ElementType

func (ManagedZonePrivateVisibilityConfigOutput) GkeClusters

The list of Google Kubernetes Engine clusters that can see this zone. Structure is documented below.

func (ManagedZonePrivateVisibilityConfigOutput) Networks

func (ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigOutput

func (o ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigOutput() ManagedZonePrivateVisibilityConfigOutput

func (ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigOutputWithContext

func (o ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigOutput

func (ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigPtrOutput

func (o ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigPtrOutput() ManagedZonePrivateVisibilityConfigPtrOutput

func (ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext

func (o ManagedZonePrivateVisibilityConfigOutput) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigPtrOutput

type ManagedZonePrivateVisibilityConfigPtrInput

type ManagedZonePrivateVisibilityConfigPtrInput interface {
	pulumi.Input

	ToManagedZonePrivateVisibilityConfigPtrOutput() ManagedZonePrivateVisibilityConfigPtrOutput
	ToManagedZonePrivateVisibilityConfigPtrOutputWithContext(context.Context) ManagedZonePrivateVisibilityConfigPtrOutput
}

ManagedZonePrivateVisibilityConfigPtrInput is an input type that accepts ManagedZonePrivateVisibilityConfigArgs, ManagedZonePrivateVisibilityConfigPtr and ManagedZonePrivateVisibilityConfigPtrOutput values. You can construct a concrete instance of `ManagedZonePrivateVisibilityConfigPtrInput` via:

        ManagedZonePrivateVisibilityConfigArgs{...}

or:

        nil

type ManagedZonePrivateVisibilityConfigPtrOutput

type ManagedZonePrivateVisibilityConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZonePrivateVisibilityConfigPtrOutput) Elem

func (ManagedZonePrivateVisibilityConfigPtrOutput) ElementType

func (ManagedZonePrivateVisibilityConfigPtrOutput) GkeClusters

The list of Google Kubernetes Engine clusters that can see this zone. Structure is documented below.

func (ManagedZonePrivateVisibilityConfigPtrOutput) Networks

func (ManagedZonePrivateVisibilityConfigPtrOutput) ToManagedZonePrivateVisibilityConfigPtrOutput

func (o ManagedZonePrivateVisibilityConfigPtrOutput) ToManagedZonePrivateVisibilityConfigPtrOutput() ManagedZonePrivateVisibilityConfigPtrOutput

func (ManagedZonePrivateVisibilityConfigPtrOutput) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext

func (o ManagedZonePrivateVisibilityConfigPtrOutput) ToManagedZonePrivateVisibilityConfigPtrOutputWithContext(ctx context.Context) ManagedZonePrivateVisibilityConfigPtrOutput

type ManagedZoneServiceDirectoryConfig

type ManagedZoneServiceDirectoryConfig struct {
	// The namespace associated with the zone.
	// Structure is documented below.
	Namespace ManagedZoneServiceDirectoryConfigNamespace `pulumi:"namespace"`
}

type ManagedZoneServiceDirectoryConfigArgs

type ManagedZoneServiceDirectoryConfigArgs struct {
	// The namespace associated with the zone.
	// Structure is documented below.
	Namespace ManagedZoneServiceDirectoryConfigNamespaceInput `pulumi:"namespace"`
}

func (ManagedZoneServiceDirectoryConfigArgs) ElementType

func (ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigOutput

func (i ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigOutput() ManagedZoneServiceDirectoryConfigOutput

func (ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigOutputWithContext

func (i ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigOutput

func (ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigPtrOutput

func (i ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigPtrOutput() ManagedZoneServiceDirectoryConfigPtrOutput

func (ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext

func (i ManagedZoneServiceDirectoryConfigArgs) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigPtrOutput

type ManagedZoneServiceDirectoryConfigInput

type ManagedZoneServiceDirectoryConfigInput interface {
	pulumi.Input

	ToManagedZoneServiceDirectoryConfigOutput() ManagedZoneServiceDirectoryConfigOutput
	ToManagedZoneServiceDirectoryConfigOutputWithContext(context.Context) ManagedZoneServiceDirectoryConfigOutput
}

ManagedZoneServiceDirectoryConfigInput is an input type that accepts ManagedZoneServiceDirectoryConfigArgs and ManagedZoneServiceDirectoryConfigOutput values. You can construct a concrete instance of `ManagedZoneServiceDirectoryConfigInput` via:

ManagedZoneServiceDirectoryConfigArgs{...}

type ManagedZoneServiceDirectoryConfigNamespace

type ManagedZoneServiceDirectoryConfigNamespace struct {
	// The fully qualified or partial URL of the service directory namespace that should be
	// associated with the zone. This should be formatted like
	// `https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace_id}`
	// or simply `projects/{project}/locations/{location}/namespaces/{namespace_id}`
	// Ignored for `public` visibility zones.
	NamespaceUrl string `pulumi:"namespaceUrl"`
}

type ManagedZoneServiceDirectoryConfigNamespaceArgs

type ManagedZoneServiceDirectoryConfigNamespaceArgs struct {
	// The fully qualified or partial URL of the service directory namespace that should be
	// associated with the zone. This should be formatted like
	// `https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace_id}`
	// or simply `projects/{project}/locations/{location}/namespaces/{namespace_id}`
	// Ignored for `public` visibility zones.
	NamespaceUrl pulumi.StringInput `pulumi:"namespaceUrl"`
}

func (ManagedZoneServiceDirectoryConfigNamespaceArgs) ElementType

func (ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespaceOutput

func (i ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespaceOutput() ManagedZoneServiceDirectoryConfigNamespaceOutput

func (ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespaceOutputWithContext

func (i ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespaceOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigNamespaceOutput

func (ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (i ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput() ManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext

func (i ManagedZoneServiceDirectoryConfigNamespaceArgs) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigNamespacePtrOutput

type ManagedZoneServiceDirectoryConfigNamespaceInput

type ManagedZoneServiceDirectoryConfigNamespaceInput interface {
	pulumi.Input

	ToManagedZoneServiceDirectoryConfigNamespaceOutput() ManagedZoneServiceDirectoryConfigNamespaceOutput
	ToManagedZoneServiceDirectoryConfigNamespaceOutputWithContext(context.Context) ManagedZoneServiceDirectoryConfigNamespaceOutput
}

ManagedZoneServiceDirectoryConfigNamespaceInput is an input type that accepts ManagedZoneServiceDirectoryConfigNamespaceArgs and ManagedZoneServiceDirectoryConfigNamespaceOutput values. You can construct a concrete instance of `ManagedZoneServiceDirectoryConfigNamespaceInput` via:

ManagedZoneServiceDirectoryConfigNamespaceArgs{...}

type ManagedZoneServiceDirectoryConfigNamespaceOutput

type ManagedZoneServiceDirectoryConfigNamespaceOutput struct{ *pulumi.OutputState }

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) ElementType

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) NamespaceUrl

The fully qualified or partial URL of the service directory namespace that should be associated with the zone. This should be formatted like `https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace_id}` or simply `projects/{project}/locations/{location}/namespaces/{namespace_id}` Ignored for `public` visibility zones.

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespaceOutput

func (o ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespaceOutput() ManagedZoneServiceDirectoryConfigNamespaceOutput

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespaceOutputWithContext

func (o ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespaceOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigNamespaceOutput

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (o ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput() ManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext

func (o ManagedZoneServiceDirectoryConfigNamespaceOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigNamespacePtrOutput

type ManagedZoneServiceDirectoryConfigNamespacePtrInput

type ManagedZoneServiceDirectoryConfigNamespacePtrInput interface {
	pulumi.Input

	ToManagedZoneServiceDirectoryConfigNamespacePtrOutput() ManagedZoneServiceDirectoryConfigNamespacePtrOutput
	ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext(context.Context) ManagedZoneServiceDirectoryConfigNamespacePtrOutput
}

ManagedZoneServiceDirectoryConfigNamespacePtrInput is an input type that accepts ManagedZoneServiceDirectoryConfigNamespaceArgs, ManagedZoneServiceDirectoryConfigNamespacePtr and ManagedZoneServiceDirectoryConfigNamespacePtrOutput values. You can construct a concrete instance of `ManagedZoneServiceDirectoryConfigNamespacePtrInput` via:

        ManagedZoneServiceDirectoryConfigNamespaceArgs{...}

or:

        nil

type ManagedZoneServiceDirectoryConfigNamespacePtrOutput

type ManagedZoneServiceDirectoryConfigNamespacePtrOutput struct{ *pulumi.OutputState }

func (ManagedZoneServiceDirectoryConfigNamespacePtrOutput) Elem

func (ManagedZoneServiceDirectoryConfigNamespacePtrOutput) ElementType

func (ManagedZoneServiceDirectoryConfigNamespacePtrOutput) NamespaceUrl

The fully qualified or partial URL of the service directory namespace that should be associated with the zone. This should be formatted like `https://servicedirectory.googleapis.com/v1/projects/{project}/locations/{location}/namespaces/{namespace_id}` or simply `projects/{project}/locations/{location}/namespaces/{namespace_id}` Ignored for `public` visibility zones.

func (ManagedZoneServiceDirectoryConfigNamespacePtrOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (o ManagedZoneServiceDirectoryConfigNamespacePtrOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutput() ManagedZoneServiceDirectoryConfigNamespacePtrOutput

func (ManagedZoneServiceDirectoryConfigNamespacePtrOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext

func (o ManagedZoneServiceDirectoryConfigNamespacePtrOutput) ToManagedZoneServiceDirectoryConfigNamespacePtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigNamespacePtrOutput

type ManagedZoneServiceDirectoryConfigOutput

type ManagedZoneServiceDirectoryConfigOutput struct{ *pulumi.OutputState }

func (ManagedZoneServiceDirectoryConfigOutput) ElementType

func (ManagedZoneServiceDirectoryConfigOutput) Namespace

The namespace associated with the zone. Structure is documented below.

func (ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigOutput

func (o ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigOutput() ManagedZoneServiceDirectoryConfigOutput

func (ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigOutputWithContext

func (o ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigOutput

func (ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigPtrOutput

func (o ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigPtrOutput() ManagedZoneServiceDirectoryConfigPtrOutput

func (ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext

func (o ManagedZoneServiceDirectoryConfigOutput) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigPtrOutput

type ManagedZoneServiceDirectoryConfigPtrInput

type ManagedZoneServiceDirectoryConfigPtrInput interface {
	pulumi.Input

	ToManagedZoneServiceDirectoryConfigPtrOutput() ManagedZoneServiceDirectoryConfigPtrOutput
	ToManagedZoneServiceDirectoryConfigPtrOutputWithContext(context.Context) ManagedZoneServiceDirectoryConfigPtrOutput
}

ManagedZoneServiceDirectoryConfigPtrInput is an input type that accepts ManagedZoneServiceDirectoryConfigArgs, ManagedZoneServiceDirectoryConfigPtr and ManagedZoneServiceDirectoryConfigPtrOutput values. You can construct a concrete instance of `ManagedZoneServiceDirectoryConfigPtrInput` via:

        ManagedZoneServiceDirectoryConfigArgs{...}

or:

        nil

type ManagedZoneServiceDirectoryConfigPtrOutput

type ManagedZoneServiceDirectoryConfigPtrOutput struct{ *pulumi.OutputState }

func (ManagedZoneServiceDirectoryConfigPtrOutput) Elem

func (ManagedZoneServiceDirectoryConfigPtrOutput) ElementType

func (ManagedZoneServiceDirectoryConfigPtrOutput) Namespace

The namespace associated with the zone. Structure is documented below.

func (ManagedZoneServiceDirectoryConfigPtrOutput) ToManagedZoneServiceDirectoryConfigPtrOutput

func (o ManagedZoneServiceDirectoryConfigPtrOutput) ToManagedZoneServiceDirectoryConfigPtrOutput() ManagedZoneServiceDirectoryConfigPtrOutput

func (ManagedZoneServiceDirectoryConfigPtrOutput) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext

func (o ManagedZoneServiceDirectoryConfigPtrOutput) ToManagedZoneServiceDirectoryConfigPtrOutputWithContext(ctx context.Context) ManagedZoneServiceDirectoryConfigPtrOutput

type ManagedZoneState

type ManagedZoneState struct {
	// Cloud logging configuration
	// Structure is documented below.
	CloudLoggingConfig ManagedZoneCloudLoggingConfigPtrInput
	// The time that this resource was created on the server.
	// This is in RFC3339 text format.
	CreationTime pulumi.StringPtrInput
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringPtrInput
	// The DNS name of this managed zone, for instance "example.com.".
	DnsName pulumi.StringPtrInput
	// DNSSEC configuration
	// Structure is documented below.
	DnssecConfig ManagedZoneDnssecConfigPtrInput
	// 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
	// Set this true to delete all records in the zone.
	ForceDestroy pulumi.BoolPtrInput
	// The presence for this field indicates that outbound forwarding is enabled
	// for this zone. The value of this field contains the set of destinations
	// to forward to.
	// Structure is documented below.
	ForwardingConfig ManagedZoneForwardingConfigPtrInput
	// A set of key/value label pairs to assign to this ManagedZone.
	//
	// **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
	// Unique identifier for the resource; defined by the server.
	ManagedZoneId pulumi.IntPtrInput
	// User assigned name for this resource.
	// Must be unique within the project.
	//
	// ***
	Name pulumi.StringPtrInput
	// Delegate your managedZone to these virtual name servers;
	// defined by the server
	NameServers pulumi.StringArrayInput
	// The presence of this field indicates that DNS Peering is enabled for this
	// zone. The value of this field contains the network to peer with.
	// Structure is documented below.
	PeeringConfig ManagedZonePeeringConfigPtrInput
	// For privately visible zones, the set of Virtual Private Cloud
	// resources that the zone is visible from. At least one of `gkeClusters` or `networks` must be specified.
	// Structure is documented below.
	PrivateVisibilityConfig ManagedZonePrivateVisibilityConfigPtrInput
	// 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
	// Specifies if this is a managed reverse lookup zone. If true, Cloud DNS will resolve reverse
	// lookup queries using automatically configured records for VPC resources. This only applies
	// to networks listed under `privateVisibilityConfig`.
	ReverseLookup pulumi.BoolPtrInput
	// The presence of this field indicates that this zone is backed by Service Directory. The value of this field contains information related to the namespace associated with the zone.
	// Structure is documented below.
	ServiceDirectoryConfig ManagedZoneServiceDirectoryConfigPtrInput
	// The zone's visibility: public zones are exposed to the Internet,
	// while private zones are visible only to Virtual Private Cloud resources.
	// Default value is `public`.
	// Possible values are: `private`, `public`.
	Visibility pulumi.StringPtrInput
}

func (ManagedZoneState) ElementType

func (ManagedZoneState) ElementType() reflect.Type

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// Sets an alternative name server for the associated networks.
	// When specified, all DNS queries are forwarded to a name server that you choose.
	// Names such as .internal are not available when an alternative name server is specified.
	// Structure is documented below.
	AlternativeNameServerConfig PolicyAlternativeNameServerConfigPtrOutput `pulumi:"alternativeNameServerConfig"`
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Allows networks bound to this policy to receive DNS queries sent
	// by VMs or applications over VPN connections. When enabled, a
	// virtual IP address will be allocated from each of the sub-networks
	// that are bound to this policy.
	EnableInboundForwarding pulumi.BoolPtrOutput `pulumi:"enableInboundForwarding"`
	// Controls whether logging is enabled for the networks bound to this policy.
	// Defaults to no logging if not set.
	EnableLogging pulumi.BoolPtrOutput `pulumi:"enableLogging"`
	// User assigned name for this policy.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// List of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks PolicyNetworkArrayOutput `pulumi:"networks"`
	// 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"`
}

A policy is a collection of DNS rules applied to one or more Virtual Private Cloud resources.

To get more information about Policy, see:

* [API documentation](https://cloud.google.com/dns/docs/reference/v1beta2/policies) * How-to Guides

## Example Usage

### Dns Policy Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-2", &compute.NetworkArgs{
			Name:                  pulumi.String("network-2"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewPolicy(ctx, "example-policy", &dns.PolicyArgs{
			Name:                    pulumi.String("example-policy"),
			EnableInboundForwarding: pulumi.Bool(true),
			EnableLogging:           pulumi.Bool(true),
			AlternativeNameServerConfig: &dns.PolicyAlternativeNameServerConfigArgs{
				TargetNameServers: dns.PolicyAlternativeNameServerConfigTargetNameServerArray{
					&dns.PolicyAlternativeNameServerConfigTargetNameServerArgs{
						Ipv4Address:    pulumi.String("172.16.1.10"),
						ForwardingPath: pulumi.String("private"),
					},
					&dns.PolicyAlternativeNameServerConfigTargetNameServerArgs{
						Ipv4Address: pulumi.String("172.16.1.20"),
					},
				},
			},
			Networks: dns.PolicyNetworkArray{
				&dns.PolicyNetworkArgs{
					NetworkUrl: network_1.ID(),
				},
				&dns.PolicyNetworkArgs{
					NetworkUrl: network_2.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Policy can be imported using any of these accepted formats:

* `projects/{{project}}/policies/{{name}}`

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

* `{{name}}`

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

```sh $ pulumi import gcp:dns/policy:Policy default projects/{{project}}/policies/{{name}} ```

```sh $ pulumi import gcp:dns/policy:Policy default {{project}}/{{name}} ```

```sh $ pulumi import gcp:dns/policy:Policy default {{name}} ```

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy 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 NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

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

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyAlternativeNameServerConfig

type PolicyAlternativeNameServerConfig struct {
	// Sets an alternative name server for the associated networks. When specified,
	// all DNS queries are forwarded to a name server that you choose. Names such as .internal
	// are not available when an alternative name server is specified.
	// Structure is documented below.
	TargetNameServers []PolicyAlternativeNameServerConfigTargetNameServer `pulumi:"targetNameServers"`
}

type PolicyAlternativeNameServerConfigArgs

type PolicyAlternativeNameServerConfigArgs struct {
	// Sets an alternative name server for the associated networks. When specified,
	// all DNS queries are forwarded to a name server that you choose. Names such as .internal
	// are not available when an alternative name server is specified.
	// Structure is documented below.
	TargetNameServers PolicyAlternativeNameServerConfigTargetNameServerArrayInput `pulumi:"targetNameServers"`
}

func (PolicyAlternativeNameServerConfigArgs) ElementType

func (PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigOutput

func (i PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigOutput() PolicyAlternativeNameServerConfigOutput

func (PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigOutputWithContext

func (i PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigOutput

func (PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigPtrOutput

func (i PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigPtrOutput() PolicyAlternativeNameServerConfigPtrOutput

func (PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigPtrOutputWithContext

func (i PolicyAlternativeNameServerConfigArgs) ToPolicyAlternativeNameServerConfigPtrOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigPtrOutput

type PolicyAlternativeNameServerConfigInput

type PolicyAlternativeNameServerConfigInput interface {
	pulumi.Input

	ToPolicyAlternativeNameServerConfigOutput() PolicyAlternativeNameServerConfigOutput
	ToPolicyAlternativeNameServerConfigOutputWithContext(context.Context) PolicyAlternativeNameServerConfigOutput
}

PolicyAlternativeNameServerConfigInput is an input type that accepts PolicyAlternativeNameServerConfigArgs and PolicyAlternativeNameServerConfigOutput values. You can construct a concrete instance of `PolicyAlternativeNameServerConfigInput` via:

PolicyAlternativeNameServerConfigArgs{...}

type PolicyAlternativeNameServerConfigOutput

type PolicyAlternativeNameServerConfigOutput struct{ *pulumi.OutputState }

func (PolicyAlternativeNameServerConfigOutput) ElementType

func (PolicyAlternativeNameServerConfigOutput) TargetNameServers

Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified. Structure is documented below.

func (PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigOutput

func (o PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigOutput() PolicyAlternativeNameServerConfigOutput

func (PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigOutputWithContext

func (o PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigOutput

func (PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigPtrOutput

func (o PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigPtrOutput() PolicyAlternativeNameServerConfigPtrOutput

func (PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigPtrOutputWithContext

func (o PolicyAlternativeNameServerConfigOutput) ToPolicyAlternativeNameServerConfigPtrOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigPtrOutput

type PolicyAlternativeNameServerConfigPtrInput

type PolicyAlternativeNameServerConfigPtrInput interface {
	pulumi.Input

	ToPolicyAlternativeNameServerConfigPtrOutput() PolicyAlternativeNameServerConfigPtrOutput
	ToPolicyAlternativeNameServerConfigPtrOutputWithContext(context.Context) PolicyAlternativeNameServerConfigPtrOutput
}

PolicyAlternativeNameServerConfigPtrInput is an input type that accepts PolicyAlternativeNameServerConfigArgs, PolicyAlternativeNameServerConfigPtr and PolicyAlternativeNameServerConfigPtrOutput values. You can construct a concrete instance of `PolicyAlternativeNameServerConfigPtrInput` via:

        PolicyAlternativeNameServerConfigArgs{...}

or:

        nil

type PolicyAlternativeNameServerConfigPtrOutput

type PolicyAlternativeNameServerConfigPtrOutput struct{ *pulumi.OutputState }

func (PolicyAlternativeNameServerConfigPtrOutput) Elem

func (PolicyAlternativeNameServerConfigPtrOutput) ElementType

func (PolicyAlternativeNameServerConfigPtrOutput) TargetNameServers

Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified. Structure is documented below.

func (PolicyAlternativeNameServerConfigPtrOutput) ToPolicyAlternativeNameServerConfigPtrOutput

func (o PolicyAlternativeNameServerConfigPtrOutput) ToPolicyAlternativeNameServerConfigPtrOutput() PolicyAlternativeNameServerConfigPtrOutput

func (PolicyAlternativeNameServerConfigPtrOutput) ToPolicyAlternativeNameServerConfigPtrOutputWithContext

func (o PolicyAlternativeNameServerConfigPtrOutput) ToPolicyAlternativeNameServerConfigPtrOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigPtrOutput

type PolicyAlternativeNameServerConfigTargetNameServer

type PolicyAlternativeNameServerConfigTargetNameServer struct {
	// Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding
	// decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
	// to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target
	// Possible values are: `default`, `private`.
	ForwardingPath *string `pulumi:"forwardingPath"`
	// IPv4 address to forward to.
	Ipv4Address string `pulumi:"ipv4Address"`
}

type PolicyAlternativeNameServerConfigTargetNameServerArgs

type PolicyAlternativeNameServerConfigTargetNameServerArgs struct {
	// Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding
	// decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go
	// to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target
	// Possible values are: `default`, `private`.
	ForwardingPath pulumi.StringPtrInput `pulumi:"forwardingPath"`
	// IPv4 address to forward to.
	Ipv4Address pulumi.StringInput `pulumi:"ipv4Address"`
}

func (PolicyAlternativeNameServerConfigTargetNameServerArgs) ElementType

func (PolicyAlternativeNameServerConfigTargetNameServerArgs) ToPolicyAlternativeNameServerConfigTargetNameServerOutput

func (i PolicyAlternativeNameServerConfigTargetNameServerArgs) ToPolicyAlternativeNameServerConfigTargetNameServerOutput() PolicyAlternativeNameServerConfigTargetNameServerOutput

func (PolicyAlternativeNameServerConfigTargetNameServerArgs) ToPolicyAlternativeNameServerConfigTargetNameServerOutputWithContext

func (i PolicyAlternativeNameServerConfigTargetNameServerArgs) ToPolicyAlternativeNameServerConfigTargetNameServerOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigTargetNameServerOutput

type PolicyAlternativeNameServerConfigTargetNameServerArray

type PolicyAlternativeNameServerConfigTargetNameServerArray []PolicyAlternativeNameServerConfigTargetNameServerInput

func (PolicyAlternativeNameServerConfigTargetNameServerArray) ElementType

func (PolicyAlternativeNameServerConfigTargetNameServerArray) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutput

func (i PolicyAlternativeNameServerConfigTargetNameServerArray) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutput() PolicyAlternativeNameServerConfigTargetNameServerArrayOutput

func (PolicyAlternativeNameServerConfigTargetNameServerArray) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutputWithContext

func (i PolicyAlternativeNameServerConfigTargetNameServerArray) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigTargetNameServerArrayOutput

type PolicyAlternativeNameServerConfigTargetNameServerArrayInput

type PolicyAlternativeNameServerConfigTargetNameServerArrayInput interface {
	pulumi.Input

	ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutput() PolicyAlternativeNameServerConfigTargetNameServerArrayOutput
	ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutputWithContext(context.Context) PolicyAlternativeNameServerConfigTargetNameServerArrayOutput
}

PolicyAlternativeNameServerConfigTargetNameServerArrayInput is an input type that accepts PolicyAlternativeNameServerConfigTargetNameServerArray and PolicyAlternativeNameServerConfigTargetNameServerArrayOutput values. You can construct a concrete instance of `PolicyAlternativeNameServerConfigTargetNameServerArrayInput` via:

PolicyAlternativeNameServerConfigTargetNameServerArray{ PolicyAlternativeNameServerConfigTargetNameServerArgs{...} }

type PolicyAlternativeNameServerConfigTargetNameServerArrayOutput

type PolicyAlternativeNameServerConfigTargetNameServerArrayOutput struct{ *pulumi.OutputState }

func (PolicyAlternativeNameServerConfigTargetNameServerArrayOutput) ElementType

func (PolicyAlternativeNameServerConfigTargetNameServerArrayOutput) Index

func (PolicyAlternativeNameServerConfigTargetNameServerArrayOutput) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutput

func (PolicyAlternativeNameServerConfigTargetNameServerArrayOutput) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutputWithContext

func (o PolicyAlternativeNameServerConfigTargetNameServerArrayOutput) ToPolicyAlternativeNameServerConfigTargetNameServerArrayOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigTargetNameServerArrayOutput

type PolicyAlternativeNameServerConfigTargetNameServerInput

type PolicyAlternativeNameServerConfigTargetNameServerInput interface {
	pulumi.Input

	ToPolicyAlternativeNameServerConfigTargetNameServerOutput() PolicyAlternativeNameServerConfigTargetNameServerOutput
	ToPolicyAlternativeNameServerConfigTargetNameServerOutputWithContext(context.Context) PolicyAlternativeNameServerConfigTargetNameServerOutput
}

PolicyAlternativeNameServerConfigTargetNameServerInput is an input type that accepts PolicyAlternativeNameServerConfigTargetNameServerArgs and PolicyAlternativeNameServerConfigTargetNameServerOutput values. You can construct a concrete instance of `PolicyAlternativeNameServerConfigTargetNameServerInput` via:

PolicyAlternativeNameServerConfigTargetNameServerArgs{...}

type PolicyAlternativeNameServerConfigTargetNameServerOutput

type PolicyAlternativeNameServerConfigTargetNameServerOutput struct{ *pulumi.OutputState }

func (PolicyAlternativeNameServerConfigTargetNameServerOutput) ElementType

func (PolicyAlternativeNameServerConfigTargetNameServerOutput) ForwardingPath

Forwarding path for this TargetNameServer. If unset or `default` Cloud DNS will make forwarding decision based on address ranges, i.e. RFC1918 addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to `private`, Cloud DNS will always send queries through VPC for this target Possible values are: `default`, `private`.

func (PolicyAlternativeNameServerConfigTargetNameServerOutput) Ipv4Address

IPv4 address to forward to.

func (PolicyAlternativeNameServerConfigTargetNameServerOutput) ToPolicyAlternativeNameServerConfigTargetNameServerOutput

func (PolicyAlternativeNameServerConfigTargetNameServerOutput) ToPolicyAlternativeNameServerConfigTargetNameServerOutputWithContext

func (o PolicyAlternativeNameServerConfigTargetNameServerOutput) ToPolicyAlternativeNameServerConfigTargetNameServerOutputWithContext(ctx context.Context) PolicyAlternativeNameServerConfigTargetNameServerOutput

type PolicyArgs

type PolicyArgs struct {
	// Sets an alternative name server for the associated networks.
	// When specified, all DNS queries are forwarded to a name server that you choose.
	// Names such as .internal are not available when an alternative name server is specified.
	// Structure is documented below.
	AlternativeNameServerConfig PolicyAlternativeNameServerConfigPtrInput
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringPtrInput
	// Allows networks bound to this policy to receive DNS queries sent
	// by VMs or applications over VPN connections. When enabled, a
	// virtual IP address will be allocated from each of the sub-networks
	// that are bound to this policy.
	EnableInboundForwarding pulumi.BoolPtrInput
	// Controls whether logging is enabled for the networks bound to this policy.
	// Defaults to no logging if not set.
	EnableLogging pulumi.BoolPtrInput
	// User assigned name for this policy.
	//
	// ***
	Name pulumi.StringPtrInput
	// List of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks PolicyNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray

type PolicyArray []PolicyInput

func (PolicyArray) ElementType

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index

func (PolicyArrayOutput) ToPolicyArrayOutput

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyInput

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyMap

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex

func (PolicyMapOutput) ToPolicyMapOutput

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyNetwork

type PolicyNetwork struct {
	// The id or fully qualified URL of the VPC network to forward queries to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl string `pulumi:"networkUrl"`
}

type PolicyNetworkArgs

type PolicyNetworkArgs struct {
	// The id or fully qualified URL of the VPC network to forward queries to.
	// This should be formatted like `projects/{project}/global/networks/{network}` or
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
}

func (PolicyNetworkArgs) ElementType

func (PolicyNetworkArgs) ElementType() reflect.Type

func (PolicyNetworkArgs) ToPolicyNetworkOutput

func (i PolicyNetworkArgs) ToPolicyNetworkOutput() PolicyNetworkOutput

func (PolicyNetworkArgs) ToPolicyNetworkOutputWithContext

func (i PolicyNetworkArgs) ToPolicyNetworkOutputWithContext(ctx context.Context) PolicyNetworkOutput

type PolicyNetworkArray

type PolicyNetworkArray []PolicyNetworkInput

func (PolicyNetworkArray) ElementType

func (PolicyNetworkArray) ElementType() reflect.Type

func (PolicyNetworkArray) ToPolicyNetworkArrayOutput

func (i PolicyNetworkArray) ToPolicyNetworkArrayOutput() PolicyNetworkArrayOutput

func (PolicyNetworkArray) ToPolicyNetworkArrayOutputWithContext

func (i PolicyNetworkArray) ToPolicyNetworkArrayOutputWithContext(ctx context.Context) PolicyNetworkArrayOutput

type PolicyNetworkArrayInput

type PolicyNetworkArrayInput interface {
	pulumi.Input

	ToPolicyNetworkArrayOutput() PolicyNetworkArrayOutput
	ToPolicyNetworkArrayOutputWithContext(context.Context) PolicyNetworkArrayOutput
}

PolicyNetworkArrayInput is an input type that accepts PolicyNetworkArray and PolicyNetworkArrayOutput values. You can construct a concrete instance of `PolicyNetworkArrayInput` via:

PolicyNetworkArray{ PolicyNetworkArgs{...} }

type PolicyNetworkArrayOutput

type PolicyNetworkArrayOutput struct{ *pulumi.OutputState }

func (PolicyNetworkArrayOutput) ElementType

func (PolicyNetworkArrayOutput) ElementType() reflect.Type

func (PolicyNetworkArrayOutput) Index

func (PolicyNetworkArrayOutput) ToPolicyNetworkArrayOutput

func (o PolicyNetworkArrayOutput) ToPolicyNetworkArrayOutput() PolicyNetworkArrayOutput

func (PolicyNetworkArrayOutput) ToPolicyNetworkArrayOutputWithContext

func (o PolicyNetworkArrayOutput) ToPolicyNetworkArrayOutputWithContext(ctx context.Context) PolicyNetworkArrayOutput

type PolicyNetworkInput

type PolicyNetworkInput interface {
	pulumi.Input

	ToPolicyNetworkOutput() PolicyNetworkOutput
	ToPolicyNetworkOutputWithContext(context.Context) PolicyNetworkOutput
}

PolicyNetworkInput is an input type that accepts PolicyNetworkArgs and PolicyNetworkOutput values. You can construct a concrete instance of `PolicyNetworkInput` via:

PolicyNetworkArgs{...}

type PolicyNetworkOutput

type PolicyNetworkOutput struct{ *pulumi.OutputState }

func (PolicyNetworkOutput) ElementType

func (PolicyNetworkOutput) ElementType() reflect.Type

func (PolicyNetworkOutput) NetworkUrl

func (o PolicyNetworkOutput) NetworkUrl() pulumi.StringOutput

The id or fully qualified URL of the VPC network to forward queries to. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`

func (PolicyNetworkOutput) ToPolicyNetworkOutput

func (o PolicyNetworkOutput) ToPolicyNetworkOutput() PolicyNetworkOutput

func (PolicyNetworkOutput) ToPolicyNetworkOutputWithContext

func (o PolicyNetworkOutput) ToPolicyNetworkOutputWithContext(ctx context.Context) PolicyNetworkOutput

type PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) AlternativeNameServerConfig

func (o PolicyOutput) AlternativeNameServerConfig() PolicyAlternativeNameServerConfigPtrOutput

Sets an alternative name server for the associated networks. When specified, all DNS queries are forwarded to a name server that you choose. Names such as .internal are not available when an alternative name server is specified. Structure is documented below.

func (PolicyOutput) Description

func (o PolicyOutput) Description() pulumi.StringPtrOutput

A textual description field. Defaults to 'Managed by Pulumi'.

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) EnableInboundForwarding

func (o PolicyOutput) EnableInboundForwarding() pulumi.BoolPtrOutput

Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address will be allocated from each of the sub-networks that are bound to this policy.

func (PolicyOutput) EnableLogging

func (o PolicyOutput) EnableLogging() pulumi.BoolPtrOutput

Controls whether logging is enabled for the networks bound to this policy. Defaults to no logging if not set.

func (PolicyOutput) Name

func (o PolicyOutput) Name() pulumi.StringOutput

User assigned name for this policy.

***

func (PolicyOutput) Networks

List of network names specifying networks to which this policy is applied. Structure is documented below.

func (PolicyOutput) Project

func (o PolicyOutput) Project() pulumi.StringOutput

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

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyState

type PolicyState struct {
	// Sets an alternative name server for the associated networks.
	// When specified, all DNS queries are forwarded to a name server that you choose.
	// Names such as .internal are not available when an alternative name server is specified.
	// Structure is documented below.
	AlternativeNameServerConfig PolicyAlternativeNameServerConfigPtrInput
	// A textual description field. Defaults to 'Managed by Pulumi'.
	Description pulumi.StringPtrInput
	// Allows networks bound to this policy to receive DNS queries sent
	// by VMs or applications over VPN connections. When enabled, a
	// virtual IP address will be allocated from each of the sub-networks
	// that are bound to this policy.
	EnableInboundForwarding pulumi.BoolPtrInput
	// Controls whether logging is enabled for the networks bound to this policy.
	// Defaults to no logging if not set.
	EnableLogging pulumi.BoolPtrInput
	// User assigned name for this policy.
	//
	// ***
	Name pulumi.StringPtrInput
	// List of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks PolicyNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type RecordSet

type RecordSet struct {
	pulumi.CustomResourceState

	// The name of the zone in which this record set will
	// reside.
	ManagedZone pulumi.StringOutput `pulumi:"managedZone"`
	// The DNS name this record set will apply to.
	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 configuration for steering traffic based on query.
	// Now you can specify either Weighted Round Robin(WRR) type or Geolocation(GEO) type.
	// Structure is documented below.
	RoutingPolicy RecordSetRoutingPolicyPtrOutput `pulumi:"routingPolicy"`
	// The string data for the records in this record set whose meaning depends on the DNS type. For TXT record, if the string
	// data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single
	// record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration
	// string (e.g. "first255characters\"\"morecharacters").
	Rrdatas pulumi.StringArrayOutput `pulumi:"rrdatas"`
	// The time-to-live of this record set (seconds).
	Ttl pulumi.IntPtrOutput `pulumi:"ttl"`
	// The DNS record set type.
	//
	// ***
	Type pulumi.StringOutput `pulumi:"type"`
}

## Example Usage

### Binding a DNS name to the ephemeral IP of a new instance:

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		frontendInstance, err := compute.NewInstance(ctx, "frontend", &compute.InstanceArgs{
			NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
				&compute.InstanceNetworkInterfaceArgs{
					AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
						nil,
					},
					Network: pulumi.String("default"),
				},
			},
			Name:        pulumi.String("frontend"),
			MachineType: pulumi.String("g1-small"),
			Zone:        pulumi.String("us-central1-b"),
			BootDisk: &compute.InstanceBootDiskArgs{
				InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
					Image: pulumi.String("debian-cloud/debian-11"),
				},
			},
		})
		if err != nil {
			return err
		}
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "frontend", &dns.RecordSetArgs{
			Name: prod.DnsName.ApplyT(func(dnsName string) (string, error) {
				return fmt.Sprintf("frontend.%v", dnsName), nil
			}).(pulumi.StringOutput),
			Type:        pulumi.String("A"),
			Ttl:         pulumi.Int(300),
			ManagedZone: prod.Name,
			Rrdatas: pulumi.StringArray{
				frontendInstance.NetworkInterfaces.ApplyT(func(networkInterfaces []compute.InstanceNetworkInterface) (*string, error) {
					return &networkInterfaces[0].AccessConfigs[0].NatIp, nil
				}).(pulumi.StringPtrOutput),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Adding an A record

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "a", &dns.RecordSetArgs{
			Name: prod.DnsName.ApplyT(func(dnsName string) (string, error) {
				return fmt.Sprintf("backend.%v", dnsName), nil
			}).(pulumi.StringOutput),
			ManagedZone: prod.Name,
			Type:        pulumi.String("A"),
			Ttl:         pulumi.Int(300),
			Rrdatas: pulumi.StringArray{
				pulumi.String("8.8.8.8"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Adding an MX record

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "mx", &dns.RecordSetArgs{
			Name:        prod.DnsName,
			ManagedZone: prod.Name,
			Type:        pulumi.String("MX"),
			Ttl:         pulumi.Int(3600),
			Rrdatas: pulumi.StringArray{
				pulumi.String("1 aspmx.l.google.com."),
				pulumi.String("5 alt1.aspmx.l.google.com."),
				pulumi.String("5 alt2.aspmx.l.google.com."),
				pulumi.String("10 alt3.aspmx.l.google.com."),
				pulumi.String("10 alt4.aspmx.l.google.com."),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Adding an SPF record

Quotes (`""`) must be added around your `rrdatas` for a SPF record. Otherwise `rrdatas` string gets split on spaces.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "spf", &dns.RecordSetArgs{
			Name: prod.DnsName.ApplyT(func(dnsName string) (string, error) {
				return fmt.Sprintf("frontend.%v", dnsName), nil
			}).(pulumi.StringOutput),
			ManagedZone: prod.Name,
			Type:        pulumi.String("TXT"),
			Ttl:         pulumi.Int(300),
			Rrdatas: pulumi.StringArray{
				pulumi.String("\"v=spf1 ip4:111.111.111.111 include:backoff.email-example.com -all\""),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Adding a CNAME record

The list of `rrdatas` should only contain a single string corresponding to the Canonical Name intended.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "cname", &dns.RecordSetArgs{
			Name: prod.DnsName.ApplyT(func(dnsName string) (string, error) {
				return fmt.Sprintf("frontend.%v", dnsName), nil
			}).(pulumi.StringOutput),
			ManagedZone: prod.Name,
			Type:        pulumi.String("CNAME"),
			Ttl:         pulumi.Int(300),
			Rrdatas: pulumi.StringArray{
				pulumi.String("frontend.mydomain.com."),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Setting Routing Policy instead of using rrdatas ### Geolocation

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dns.NewRecordSet(ctx, "geo", &dns.RecordSetArgs{
			Name:        pulumi.String(fmt.Sprintf("backend.%v", prod.DnsName)),
			ManagedZone: pulumi.Any(prod.Name),
			Type:        pulumi.String("A"),
			Ttl:         pulumi.Int(300),
			RoutingPolicy: &dns.RecordSetRoutingPolicyArgs{
				Geos: dns.RecordSetRoutingPolicyGeoArray{
					&dns.RecordSetRoutingPolicyGeoArgs{
						Location: pulumi.String("asia-east1"),
						Rrdatas: pulumi.StringArray{
							pulumi.String("10.128.1.1"),
						},
					},
					&dns.RecordSetRoutingPolicyGeoArgs{
						Location: pulumi.String("us-central1"),
						Rrdatas: pulumi.StringArray{
							pulumi.String("10.130.1.1"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Primary-Backup

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		prod, err := dns.NewManagedZone(ctx, "prod", &dns.ManagedZoneArgs{
			Name:    pulumi.String("prod-zone"),
			DnsName: pulumi.String("prod.mydomain.com."),
		})
		if err != nil {
			return err
		}
		prodRegionBackendService, err := compute.NewRegionBackendService(ctx, "prod", &compute.RegionBackendServiceArgs{
			Name:   pulumi.String("prod-backend"),
			Region: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		prodNetwork, err := compute.NewNetwork(ctx, "prod", &compute.NetworkArgs{
			Name: pulumi.String("prod-network"),
		})
		if err != nil {
			return err
		}
		prodForwardingRule, err := compute.NewForwardingRule(ctx, "prod", &compute.ForwardingRuleArgs{
			Name:                pulumi.String("prod-ilb"),
			Region:              pulumi.String("us-central1"),
			LoadBalancingScheme: pulumi.String("INTERNAL"),
			BackendService:      prodRegionBackendService.ID(),
			AllPorts:            pulumi.Bool(true),
			Network:             prodNetwork.Name,
			AllowGlobalAccess:   pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewRecordSet(ctx, "a", &dns.RecordSetArgs{
			Name: prod.DnsName.ApplyT(func(dnsName string) (string, error) {
				return fmt.Sprintf("backend.%v", dnsName), nil
			}).(pulumi.StringOutput),
			ManagedZone: prod.Name,
			Type:        pulumi.String("A"),
			Ttl:         pulumi.Int(300),
			RoutingPolicy: &dns.RecordSetRoutingPolicyArgs{
				PrimaryBackup: &dns.RecordSetRoutingPolicyPrimaryBackupArgs{
					TrickleRatio: pulumi.Float64(0.1),
					Primary: &dns.RecordSetRoutingPolicyPrimaryBackupPrimaryArgs{
						InternalLoadBalancers: dns.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray{
							&dns.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs{
								LoadBalancerType: pulumi.String("regionalL4ilb"),
								IpAddress:        prodForwardingRule.IpAddress,
								Port:             pulumi.String("80"),
								IpProtocol:       pulumi.String("tcp"),
								NetworkUrl:       prodNetwork.ID(),
								Project:          prodForwardingRule.Project,
								Region:           prodForwardingRule.Region,
							},
						},
					},
					BackupGeos: dns.RecordSetRoutingPolicyPrimaryBackupBackupGeoArray{
						&dns.RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs{
							Location: pulumi.String("asia-east1"),
							Rrdatas: pulumi.StringArray{
								pulumi.String("10.128.1.1"),
							},
						},
						&dns.RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs{
							Location: pulumi.String("us-west1"),
							Rrdatas: pulumi.StringArray{
								pulumi.String("10.130.1.1"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DNS record sets can be imported using either of these accepted formats:

* `projects/{{project}}/managedZones/{{zone}}/rrsets/{{name}}/{{type}}`

* `{{project}}/{{zone}}/{{name}}/{{type}}`

* `{{zone}}/{{name}}/{{type}}`

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

```sh $ pulumi import gcp:dns/recordSet:RecordSet default projects/{{project}}/managedZones/{{zone}}/rrsets/{{name}}/{{type}} ```

```sh $ pulumi import gcp:dns/recordSet:RecordSet default {{project}}/{{zone}}/{{name}}/{{type}} ```

```sh $ pulumi import gcp:dns/recordSet:RecordSet default {{zone}}/{{name}}/{{type}} ```

Note: The record name must include the trailing dot at the end.

func GetRecordSet

func GetRecordSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RecordSetState, opts ...pulumi.ResourceOption) (*RecordSet, error)

GetRecordSet gets an existing RecordSet 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 NewRecordSet

func NewRecordSet(ctx *pulumi.Context,
	name string, args *RecordSetArgs, opts ...pulumi.ResourceOption) (*RecordSet, error)

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

func (*RecordSet) ElementType

func (*RecordSet) ElementType() reflect.Type

func (*RecordSet) ToRecordSetOutput

func (i *RecordSet) ToRecordSetOutput() RecordSetOutput

func (*RecordSet) ToRecordSetOutputWithContext

func (i *RecordSet) ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput

type RecordSetArgs

type RecordSetArgs struct {
	// The name of the zone in which this record set will
	// reside.
	ManagedZone pulumi.StringInput
	// The DNS name this record set will apply to.
	Name pulumi.StringInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The configuration for steering traffic based on query.
	// Now you can specify either Weighted Round Robin(WRR) type or Geolocation(GEO) type.
	// Structure is documented below.
	RoutingPolicy RecordSetRoutingPolicyPtrInput
	// The string data for the records in this record set whose meaning depends on the DNS type. For TXT record, if the string
	// data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single
	// record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration
	// string (e.g. "first255characters\"\"morecharacters").
	Rrdatas pulumi.StringArrayInput
	// The time-to-live of this record set (seconds).
	Ttl pulumi.IntPtrInput
	// The DNS record set type.
	//
	// ***
	Type pulumi.StringInput
}

The set of arguments for constructing a RecordSet resource.

func (RecordSetArgs) ElementType

func (RecordSetArgs) ElementType() reflect.Type

type RecordSetArray

type RecordSetArray []RecordSetInput

func (RecordSetArray) ElementType

func (RecordSetArray) ElementType() reflect.Type

func (RecordSetArray) ToRecordSetArrayOutput

func (i RecordSetArray) ToRecordSetArrayOutput() RecordSetArrayOutput

func (RecordSetArray) ToRecordSetArrayOutputWithContext

func (i RecordSetArray) ToRecordSetArrayOutputWithContext(ctx context.Context) RecordSetArrayOutput

type RecordSetArrayInput

type RecordSetArrayInput interface {
	pulumi.Input

	ToRecordSetArrayOutput() RecordSetArrayOutput
	ToRecordSetArrayOutputWithContext(context.Context) RecordSetArrayOutput
}

RecordSetArrayInput is an input type that accepts RecordSetArray and RecordSetArrayOutput values. You can construct a concrete instance of `RecordSetArrayInput` via:

RecordSetArray{ RecordSetArgs{...} }

type RecordSetArrayOutput

type RecordSetArrayOutput struct{ *pulumi.OutputState }

func (RecordSetArrayOutput) ElementType

func (RecordSetArrayOutput) ElementType() reflect.Type

func (RecordSetArrayOutput) Index

func (RecordSetArrayOutput) ToRecordSetArrayOutput

func (o RecordSetArrayOutput) ToRecordSetArrayOutput() RecordSetArrayOutput

func (RecordSetArrayOutput) ToRecordSetArrayOutputWithContext

func (o RecordSetArrayOutput) ToRecordSetArrayOutputWithContext(ctx context.Context) RecordSetArrayOutput

type RecordSetInput

type RecordSetInput interface {
	pulumi.Input

	ToRecordSetOutput() RecordSetOutput
	ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput
}

type RecordSetMap

type RecordSetMap map[string]RecordSetInput

func (RecordSetMap) ElementType

func (RecordSetMap) ElementType() reflect.Type

func (RecordSetMap) ToRecordSetMapOutput

func (i RecordSetMap) ToRecordSetMapOutput() RecordSetMapOutput

func (RecordSetMap) ToRecordSetMapOutputWithContext

func (i RecordSetMap) ToRecordSetMapOutputWithContext(ctx context.Context) RecordSetMapOutput

type RecordSetMapInput

type RecordSetMapInput interface {
	pulumi.Input

	ToRecordSetMapOutput() RecordSetMapOutput
	ToRecordSetMapOutputWithContext(context.Context) RecordSetMapOutput
}

RecordSetMapInput is an input type that accepts RecordSetMap and RecordSetMapOutput values. You can construct a concrete instance of `RecordSetMapInput` via:

RecordSetMap{ "key": RecordSetArgs{...} }

type RecordSetMapOutput

type RecordSetMapOutput struct{ *pulumi.OutputState }

func (RecordSetMapOutput) ElementType

func (RecordSetMapOutput) ElementType() reflect.Type

func (RecordSetMapOutput) MapIndex

func (RecordSetMapOutput) ToRecordSetMapOutput

func (o RecordSetMapOutput) ToRecordSetMapOutput() RecordSetMapOutput

func (RecordSetMapOutput) ToRecordSetMapOutputWithContext

func (o RecordSetMapOutput) ToRecordSetMapOutputWithContext(ctx context.Context) RecordSetMapOutput

type RecordSetOutput

type RecordSetOutput struct{ *pulumi.OutputState }

func (RecordSetOutput) ElementType

func (RecordSetOutput) ElementType() reflect.Type

func (RecordSetOutput) ManagedZone

func (o RecordSetOutput) ManagedZone() pulumi.StringOutput

The name of the zone in which this record set will reside.

func (RecordSetOutput) Name

The DNS name this record set will apply to.

func (RecordSetOutput) Project

func (o RecordSetOutput) Project() pulumi.StringOutput

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

func (RecordSetOutput) RoutingPolicy

The configuration for steering traffic based on query. Now you can specify either Weighted Round Robin(WRR) type or Geolocation(GEO) type. Structure is documented below.

func (RecordSetOutput) Rrdatas

The string data for the records in this record set whose meaning depends on the DNS type. For TXT record, if the string data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration string (e.g. "first255characters\"\"morecharacters").

func (RecordSetOutput) ToRecordSetOutput

func (o RecordSetOutput) ToRecordSetOutput() RecordSetOutput

func (RecordSetOutput) ToRecordSetOutputWithContext

func (o RecordSetOutput) ToRecordSetOutputWithContext(ctx context.Context) RecordSetOutput

func (RecordSetOutput) Ttl

The time-to-live of this record set (seconds).

func (RecordSetOutput) Type

The DNS record set type.

***

type RecordSetRoutingPolicy

type RecordSetRoutingPolicy struct {
	// Specifies whether to enable fencing for geo queries.
	EnableGeoFencing *bool `pulumi:"enableGeoFencing"`
	// The configuration for Geolocation based routing policy.
	// Structure is documented below.
	Geos []RecordSetRoutingPolicyGeo `pulumi:"geos"`
	// The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
	// Structure is documented below.
	PrimaryBackup *RecordSetRoutingPolicyPrimaryBackup `pulumi:"primaryBackup"`
	// The configuration for Weighted Round Robin based routing policy.
	// Structure is documented below.
	Wrrs []RecordSetRoutingPolicyWrr `pulumi:"wrrs"`
}

type RecordSetRoutingPolicyArgs

type RecordSetRoutingPolicyArgs struct {
	// Specifies whether to enable fencing for geo queries.
	EnableGeoFencing pulumi.BoolPtrInput `pulumi:"enableGeoFencing"`
	// The configuration for Geolocation based routing policy.
	// Structure is documented below.
	Geos RecordSetRoutingPolicyGeoArrayInput `pulumi:"geos"`
	// The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
	// Structure is documented below.
	PrimaryBackup RecordSetRoutingPolicyPrimaryBackupPtrInput `pulumi:"primaryBackup"`
	// The configuration for Weighted Round Robin based routing policy.
	// Structure is documented below.
	Wrrs RecordSetRoutingPolicyWrrArrayInput `pulumi:"wrrs"`
}

func (RecordSetRoutingPolicyArgs) ElementType

func (RecordSetRoutingPolicyArgs) ElementType() reflect.Type

func (RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyOutput

func (i RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyOutput() RecordSetRoutingPolicyOutput

func (RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyOutputWithContext

func (i RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyOutputWithContext(ctx context.Context) RecordSetRoutingPolicyOutput

func (RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyPtrOutput

func (i RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyPtrOutput() RecordSetRoutingPolicyPtrOutput

func (RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyPtrOutputWithContext

func (i RecordSetRoutingPolicyArgs) ToRecordSetRoutingPolicyPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPtrOutput

type RecordSetRoutingPolicyGeo

type RecordSetRoutingPolicyGeo struct {
	// For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item.
	// Structure is documented below.
	HealthCheckedTargets *RecordSetRoutingPolicyGeoHealthCheckedTargets `pulumi:"healthCheckedTargets"`
	// The location name defined in Google Cloud.
	Location string `pulumi:"location"`
	// Same as `rrdatas` above.
	Rrdatas []string `pulumi:"rrdatas"`
}

type RecordSetRoutingPolicyGeoArgs

type RecordSetRoutingPolicyGeoArgs struct {
	// For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item.
	// Structure is documented below.
	HealthCheckedTargets RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrInput `pulumi:"healthCheckedTargets"`
	// The location name defined in Google Cloud.
	Location pulumi.StringInput `pulumi:"location"`
	// Same as `rrdatas` above.
	Rrdatas pulumi.StringArrayInput `pulumi:"rrdatas"`
}

func (RecordSetRoutingPolicyGeoArgs) ElementType

func (RecordSetRoutingPolicyGeoArgs) ToRecordSetRoutingPolicyGeoOutput

func (i RecordSetRoutingPolicyGeoArgs) ToRecordSetRoutingPolicyGeoOutput() RecordSetRoutingPolicyGeoOutput

func (RecordSetRoutingPolicyGeoArgs) ToRecordSetRoutingPolicyGeoOutputWithContext

func (i RecordSetRoutingPolicyGeoArgs) ToRecordSetRoutingPolicyGeoOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoOutput

type RecordSetRoutingPolicyGeoArray

type RecordSetRoutingPolicyGeoArray []RecordSetRoutingPolicyGeoInput

func (RecordSetRoutingPolicyGeoArray) ElementType

func (RecordSetRoutingPolicyGeoArray) ToRecordSetRoutingPolicyGeoArrayOutput

func (i RecordSetRoutingPolicyGeoArray) ToRecordSetRoutingPolicyGeoArrayOutput() RecordSetRoutingPolicyGeoArrayOutput

func (RecordSetRoutingPolicyGeoArray) ToRecordSetRoutingPolicyGeoArrayOutputWithContext

func (i RecordSetRoutingPolicyGeoArray) ToRecordSetRoutingPolicyGeoArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoArrayOutput

type RecordSetRoutingPolicyGeoArrayInput

type RecordSetRoutingPolicyGeoArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoArrayOutput() RecordSetRoutingPolicyGeoArrayOutput
	ToRecordSetRoutingPolicyGeoArrayOutputWithContext(context.Context) RecordSetRoutingPolicyGeoArrayOutput
}

RecordSetRoutingPolicyGeoArrayInput is an input type that accepts RecordSetRoutingPolicyGeoArray and RecordSetRoutingPolicyGeoArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoArrayInput` via:

RecordSetRoutingPolicyGeoArray{ RecordSetRoutingPolicyGeoArgs{...} }

type RecordSetRoutingPolicyGeoArrayOutput

type RecordSetRoutingPolicyGeoArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoArrayOutput) ElementType

func (RecordSetRoutingPolicyGeoArrayOutput) Index

func (RecordSetRoutingPolicyGeoArrayOutput) ToRecordSetRoutingPolicyGeoArrayOutput

func (o RecordSetRoutingPolicyGeoArrayOutput) ToRecordSetRoutingPolicyGeoArrayOutput() RecordSetRoutingPolicyGeoArrayOutput

func (RecordSetRoutingPolicyGeoArrayOutput) ToRecordSetRoutingPolicyGeoArrayOutputWithContext

func (o RecordSetRoutingPolicyGeoArrayOutput) ToRecordSetRoutingPolicyGeoArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoArrayOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargets

type RecordSetRoutingPolicyGeoHealthCheckedTargets struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers []RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer `pulumi:"internalLoadBalancers"`
}

type RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs

type RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayInput `pulumi:"internalLoadBalancers"`
}

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputWithContext

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput
	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputWithContext(context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput
}

RecordSetRoutingPolicyGeoHealthCheckedTargetsInput is an input type that accepts RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs and RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoHealthCheckedTargetsInput` via:

RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs{...}

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer struct {
	// The frontend IP address of the load balancer.
	IpAddress string `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol string `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl string `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port string `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project string `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region *string `pulumi:"region"`
}

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs struct {
	// The frontend IP address of the load balancer.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port pulumi.StringInput `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project pulumi.StringInput `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray []RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerInput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

func (i RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayInput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput
	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext(context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput
}

RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayInput is an input type that accepts RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray and RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayInput` via:

RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArray{ RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs{...} }

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerInput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput
	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext(context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput
}

RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerInput is an input type that accepts RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs and RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerInput` via:

RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs{...}

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) IpAddress

The frontend IP address of the load balancer.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) IpProtocol

The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) LoadBalancerType

The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) NetworkUrl

The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) Port

The configured port of the load balancer.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) Project

The ID of the project in which the load balancer belongs.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) Region

The region of the load balancer. Only needed for regional load balancers.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputWithContext

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrInput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput
	ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext(context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput
}

RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrInput is an input type that accepts RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs, RecordSetRoutingPolicyGeoHealthCheckedTargetsPtr and RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrInput` via:

        RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs{...}

or:

        nil

type RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) Elem

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) ElementType

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext

func (o RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyGeoInput

type RecordSetRoutingPolicyGeoInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyGeoOutput() RecordSetRoutingPolicyGeoOutput
	ToRecordSetRoutingPolicyGeoOutputWithContext(context.Context) RecordSetRoutingPolicyGeoOutput
}

RecordSetRoutingPolicyGeoInput is an input type that accepts RecordSetRoutingPolicyGeoArgs and RecordSetRoutingPolicyGeoOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyGeoInput` via:

RecordSetRoutingPolicyGeoArgs{...}

type RecordSetRoutingPolicyGeoOutput

type RecordSetRoutingPolicyGeoOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyGeoOutput) ElementType

func (RecordSetRoutingPolicyGeoOutput) HealthCheckedTargets

For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item. Structure is documented below.

func (RecordSetRoutingPolicyGeoOutput) Location

The location name defined in Google Cloud.

func (RecordSetRoutingPolicyGeoOutput) Rrdatas

Same as `rrdatas` above.

func (RecordSetRoutingPolicyGeoOutput) ToRecordSetRoutingPolicyGeoOutput

func (o RecordSetRoutingPolicyGeoOutput) ToRecordSetRoutingPolicyGeoOutput() RecordSetRoutingPolicyGeoOutput

func (RecordSetRoutingPolicyGeoOutput) ToRecordSetRoutingPolicyGeoOutputWithContext

func (o RecordSetRoutingPolicyGeoOutput) ToRecordSetRoutingPolicyGeoOutputWithContext(ctx context.Context) RecordSetRoutingPolicyGeoOutput

type RecordSetRoutingPolicyInput

type RecordSetRoutingPolicyInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyOutput() RecordSetRoutingPolicyOutput
	ToRecordSetRoutingPolicyOutputWithContext(context.Context) RecordSetRoutingPolicyOutput
}

RecordSetRoutingPolicyInput is an input type that accepts RecordSetRoutingPolicyArgs and RecordSetRoutingPolicyOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyInput` via:

RecordSetRoutingPolicyArgs{...}

type RecordSetRoutingPolicyOutput

type RecordSetRoutingPolicyOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyOutput) ElementType

func (RecordSetRoutingPolicyOutput) EnableGeoFencing

func (o RecordSetRoutingPolicyOutput) EnableGeoFencing() pulumi.BoolPtrOutput

Specifies whether to enable fencing for geo queries.

func (RecordSetRoutingPolicyOutput) Geos

The configuration for Geolocation based routing policy. Structure is documented below.

func (RecordSetRoutingPolicyOutput) PrimaryBackup

The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy. Structure is documented below.

func (RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyOutput

func (o RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyOutput() RecordSetRoutingPolicyOutput

func (RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyOutputWithContext

func (o RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyOutputWithContext(ctx context.Context) RecordSetRoutingPolicyOutput

func (RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyPtrOutput

func (o RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyPtrOutput() RecordSetRoutingPolicyPtrOutput

func (RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyPtrOutputWithContext

func (o RecordSetRoutingPolicyOutput) ToRecordSetRoutingPolicyPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPtrOutput

func (RecordSetRoutingPolicyOutput) Wrrs

The configuration for Weighted Round Robin based routing policy. Structure is documented below.

type RecordSetRoutingPolicyPrimaryBackup

type RecordSetRoutingPolicyPrimaryBackup struct {
	// The backup geo targets, which provide a regional failover policy for the otherwise global primary targets.
	// Structure is document above.
	BackupGeos []RecordSetRoutingPolicyPrimaryBackupBackupGeo `pulumi:"backupGeos"`
	// Specifies whether to enable fencing for backup geo queries.
	EnableGeoFencingForBackups *bool `pulumi:"enableGeoFencingForBackups"`
	// The list of global primary targets to be health checked.
	// Structure is documented below.
	Primary RecordSetRoutingPolicyPrimaryBackupPrimary `pulumi:"primary"`
	// Specifies the percentage of traffic to send to the backup targets even when the primary targets are healthy.
	TrickleRatio *float64 `pulumi:"trickleRatio"`
}

type RecordSetRoutingPolicyPrimaryBackupArgs

type RecordSetRoutingPolicyPrimaryBackupArgs struct {
	// The backup geo targets, which provide a regional failover policy for the otherwise global primary targets.
	// Structure is document above.
	BackupGeos RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayInput `pulumi:"backupGeos"`
	// Specifies whether to enable fencing for backup geo queries.
	EnableGeoFencingForBackups pulumi.BoolPtrInput `pulumi:"enableGeoFencingForBackups"`
	// The list of global primary targets to be health checked.
	// Structure is documented below.
	Primary RecordSetRoutingPolicyPrimaryBackupPrimaryInput `pulumi:"primary"`
	// Specifies the percentage of traffic to send to the backup targets even when the primary targets are healthy.
	TrickleRatio pulumi.Float64PtrInput `pulumi:"trickleRatio"`
}

func (RecordSetRoutingPolicyPrimaryBackupArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupOutput

func (i RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupOutput() RecordSetRoutingPolicyPrimaryBackupOutput

func (RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupOutput

func (RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput

func (i RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput() RecordSetRoutingPolicyPrimaryBackupPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupArgs) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPtrOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeo

type RecordSetRoutingPolicyPrimaryBackupBackupGeo struct {
	// For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item.
	HealthCheckedTargets *RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargets `pulumi:"healthCheckedTargets"`
	// The location name defined in Google Cloud.
	Location string   `pulumi:"location"`
	Rrdatas  []string `pulumi:"rrdatas"`
}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs struct {
	// For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item.
	HealthCheckedTargets RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrInput `pulumi:"healthCheckedTargets"`
	// The location name defined in Google Cloud.
	Location pulumi.StringInput      `pulumi:"location"`
	Rrdatas  pulumi.StringArrayInput `pulumi:"rrdatas"`
}

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArray

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArray []RecordSetRoutingPolicyPrimaryBackupBackupGeoInput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArray) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoArray and RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayInput` via:

RecordSetRoutingPolicyPrimaryBackupBackupGeoArray{ RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs{...} }

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput) Index

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoArrayOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargets

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargets struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers []RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer `pulumi:"internalLoadBalancers"`
}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayInput `pulumi:"internalLoadBalancers"`
}

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs and RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInput` via:

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs{...}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer struct {
	// The frontend IP address of the load balancer.
	IpAddress string `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol string `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl string `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port string `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project string `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region *string `pulumi:"region"`
}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs struct {
	// The frontend IP address of the load balancer.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port pulumi.StringInput `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project pulumi.StringInput `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray []RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerInput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray and RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayInput` via:

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArray{ RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs{...} }

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs and RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerInput` via:

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs{...}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) IpAddress

The frontend IP address of the load balancer.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) IpProtocol

The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) LoadBalancerType

The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) NetworkUrl

The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) Port

The configured port of the load balancer.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) Project

The ID of the project in which the load balancer belongs.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) Region

The region of the load balancer. Only needed for regional load balancers.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs, RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtr and RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrInput` via:

        RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs{...}

or:

        nil

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput) Elem

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsPtrOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupBackupGeoInput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput
	ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput
}

RecordSetRoutingPolicyPrimaryBackupBackupGeoInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs and RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupBackupGeoInput` via:

RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs{...}

type RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

type RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) HealthCheckedTargets

For A and AAAA types only. The list of targets to be health checked. These can be specified along with `rrdatas` within this item.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) Location

The location name defined in Google Cloud.

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) Rrdatas

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

func (o RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutput() RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

func (RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput) ToRecordSetRoutingPolicyPrimaryBackupBackupGeoOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupBackupGeoOutput

type RecordSetRoutingPolicyPrimaryBackupInput

type RecordSetRoutingPolicyPrimaryBackupInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupOutput() RecordSetRoutingPolicyPrimaryBackupOutput
	ToRecordSetRoutingPolicyPrimaryBackupOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupOutput
}

RecordSetRoutingPolicyPrimaryBackupInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupArgs and RecordSetRoutingPolicyPrimaryBackupOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupInput` via:

RecordSetRoutingPolicyPrimaryBackupArgs{...}

type RecordSetRoutingPolicyPrimaryBackupOutput

type RecordSetRoutingPolicyPrimaryBackupOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupOutput) BackupGeos

The backup geo targets, which provide a regional failover policy for the otherwise global primary targets. Structure is document above.

func (RecordSetRoutingPolicyPrimaryBackupOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupOutput) EnableGeoFencingForBackups

func (o RecordSetRoutingPolicyPrimaryBackupOutput) EnableGeoFencingForBackups() pulumi.BoolPtrOutput

Specifies whether to enable fencing for backup geo queries.

func (RecordSetRoutingPolicyPrimaryBackupOutput) Primary

The list of global primary targets to be health checked. Structure is documented below.

func (RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupOutput

func (o RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupOutput() RecordSetRoutingPolicyPrimaryBackupOutput

func (RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupOutput

func (RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput

func (o RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput() RecordSetRoutingPolicyPrimaryBackupPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupOutput) TrickleRatio

Specifies the percentage of traffic to send to the backup targets even when the primary targets are healthy.

type RecordSetRoutingPolicyPrimaryBackupPrimary

type RecordSetRoutingPolicyPrimaryBackupPrimary struct {
	// The list of internal load balancers to health check.
	InternalLoadBalancers []RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer `pulumi:"internalLoadBalancers"`
}

type RecordSetRoutingPolicyPrimaryBackupPrimaryArgs

type RecordSetRoutingPolicyPrimaryBackupPrimaryArgs struct {
	// The list of internal load balancers to health check.
	InternalLoadBalancers RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayInput `pulumi:"internalLoadBalancers"`
}

func (RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryOutput
	ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryOutput
}

RecordSetRoutingPolicyPrimaryBackupPrimaryInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupPrimaryArgs and RecordSetRoutingPolicyPrimaryBackupPrimaryOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupPrimaryInput` via:

RecordSetRoutingPolicyPrimaryBackupPrimaryArgs{...}

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer struct {
	// The frontend IP address of the load balancer.
	IpAddress string `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol string `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl string `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port string `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project string `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region *string `pulumi:"region"`
}

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs struct {
	// The frontend IP address of the load balancer.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port pulumi.StringInput `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project pulumi.StringInput `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray []RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerInput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutputWithContext

func (i RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayInput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput
	ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput
}

RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray and RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayInput` via:

RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArray{ RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs{...} }

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArrayOutputWithContext

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerInput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput
	ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput
}

RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs and RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerInput` via:

RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs{...}

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) IpAddress

The frontend IP address of the load balancer.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) IpProtocol

The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) LoadBalancerType

The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) NetworkUrl

The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) Port

The configured port of the load balancer.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) Project

The ID of the project in which the load balancer belongs.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) Region

The region of the load balancer. Only needed for regional load balancers.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) InternalLoadBalancers

The list of internal load balancers to health check.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryPtrInput

type RecordSetRoutingPolicyPrimaryBackupPrimaryPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput
	ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput
}

RecordSetRoutingPolicyPrimaryBackupPrimaryPtrInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupPrimaryArgs, RecordSetRoutingPolicyPrimaryBackupPrimaryPtr and RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupPrimaryPtrInput` via:

        RecordSetRoutingPolicyPrimaryBackupPrimaryArgs{...}

or:

        nil

type RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

type RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) Elem

func (RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) InternalLoadBalancers

The list of internal load balancers to health check.

func (RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput() RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPrimaryPtrOutput

type RecordSetRoutingPolicyPrimaryBackupPtrInput

type RecordSetRoutingPolicyPrimaryBackupPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPrimaryBackupPtrOutput() RecordSetRoutingPolicyPrimaryBackupPtrOutput
	ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext(context.Context) RecordSetRoutingPolicyPrimaryBackupPtrOutput
}

RecordSetRoutingPolicyPrimaryBackupPtrInput is an input type that accepts RecordSetRoutingPolicyPrimaryBackupArgs, RecordSetRoutingPolicyPrimaryBackupPtr and RecordSetRoutingPolicyPrimaryBackupPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPrimaryBackupPtrInput` via:

        RecordSetRoutingPolicyPrimaryBackupArgs{...}

or:

        nil

type RecordSetRoutingPolicyPrimaryBackupPtrOutput

type RecordSetRoutingPolicyPrimaryBackupPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) BackupGeos

The backup geo targets, which provide a regional failover policy for the otherwise global primary targets. Structure is document above.

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) Elem

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) ElementType

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) EnableGeoFencingForBackups

func (o RecordSetRoutingPolicyPrimaryBackupPtrOutput) EnableGeoFencingForBackups() pulumi.BoolPtrOutput

Specifies whether to enable fencing for backup geo queries.

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) Primary

The list of global primary targets to be health checked. Structure is documented below.

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput

func (o RecordSetRoutingPolicyPrimaryBackupPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutput() RecordSetRoutingPolicyPrimaryBackupPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext

func (o RecordSetRoutingPolicyPrimaryBackupPtrOutput) ToRecordSetRoutingPolicyPrimaryBackupPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPrimaryBackupPtrOutput

func (RecordSetRoutingPolicyPrimaryBackupPtrOutput) TrickleRatio

Specifies the percentage of traffic to send to the backup targets even when the primary targets are healthy.

type RecordSetRoutingPolicyPtrInput

type RecordSetRoutingPolicyPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyPtrOutput() RecordSetRoutingPolicyPtrOutput
	ToRecordSetRoutingPolicyPtrOutputWithContext(context.Context) RecordSetRoutingPolicyPtrOutput
}

RecordSetRoutingPolicyPtrInput is an input type that accepts RecordSetRoutingPolicyArgs, RecordSetRoutingPolicyPtr and RecordSetRoutingPolicyPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyPtrInput` via:

        RecordSetRoutingPolicyArgs{...}

or:

        nil

type RecordSetRoutingPolicyPtrOutput

type RecordSetRoutingPolicyPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyPtrOutput) Elem

func (RecordSetRoutingPolicyPtrOutput) ElementType

func (RecordSetRoutingPolicyPtrOutput) EnableGeoFencing

Specifies whether to enable fencing for geo queries.

func (RecordSetRoutingPolicyPtrOutput) Geos

The configuration for Geolocation based routing policy. Structure is documented below.

func (RecordSetRoutingPolicyPtrOutput) PrimaryBackup

The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy. Structure is documented below.

func (RecordSetRoutingPolicyPtrOutput) ToRecordSetRoutingPolicyPtrOutput

func (o RecordSetRoutingPolicyPtrOutput) ToRecordSetRoutingPolicyPtrOutput() RecordSetRoutingPolicyPtrOutput

func (RecordSetRoutingPolicyPtrOutput) ToRecordSetRoutingPolicyPtrOutputWithContext

func (o RecordSetRoutingPolicyPtrOutput) ToRecordSetRoutingPolicyPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyPtrOutput

func (RecordSetRoutingPolicyPtrOutput) Wrrs

The configuration for Weighted Round Robin based routing policy. Structure is documented below.

type RecordSetRoutingPolicyWrr

type RecordSetRoutingPolicyWrr struct {
	// The list of targets to be health checked. Note that if DNSSEC is enabled for this zone, only one of `rrdatas` or `healthCheckedTargets` can be set.
	// Structure is documented below.
	HealthCheckedTargets *RecordSetRoutingPolicyWrrHealthCheckedTargets `pulumi:"healthCheckedTargets"`
	// Same as `rrdatas` above.
	Rrdatas []string `pulumi:"rrdatas"`
	// The ratio of traffic routed to the target.
	Weight float64 `pulumi:"weight"`
}

type RecordSetRoutingPolicyWrrArgs

type RecordSetRoutingPolicyWrrArgs struct {
	// The list of targets to be health checked. Note that if DNSSEC is enabled for this zone, only one of `rrdatas` or `healthCheckedTargets` can be set.
	// Structure is documented below.
	HealthCheckedTargets RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrInput `pulumi:"healthCheckedTargets"`
	// Same as `rrdatas` above.
	Rrdatas pulumi.StringArrayInput `pulumi:"rrdatas"`
	// The ratio of traffic routed to the target.
	Weight pulumi.Float64Input `pulumi:"weight"`
}

func (RecordSetRoutingPolicyWrrArgs) ElementType

func (RecordSetRoutingPolicyWrrArgs) ToRecordSetRoutingPolicyWrrOutput

func (i RecordSetRoutingPolicyWrrArgs) ToRecordSetRoutingPolicyWrrOutput() RecordSetRoutingPolicyWrrOutput

func (RecordSetRoutingPolicyWrrArgs) ToRecordSetRoutingPolicyWrrOutputWithContext

func (i RecordSetRoutingPolicyWrrArgs) ToRecordSetRoutingPolicyWrrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrOutput

type RecordSetRoutingPolicyWrrArray

type RecordSetRoutingPolicyWrrArray []RecordSetRoutingPolicyWrrInput

func (RecordSetRoutingPolicyWrrArray) ElementType

func (RecordSetRoutingPolicyWrrArray) ToRecordSetRoutingPolicyWrrArrayOutput

func (i RecordSetRoutingPolicyWrrArray) ToRecordSetRoutingPolicyWrrArrayOutput() RecordSetRoutingPolicyWrrArrayOutput

func (RecordSetRoutingPolicyWrrArray) ToRecordSetRoutingPolicyWrrArrayOutputWithContext

func (i RecordSetRoutingPolicyWrrArray) ToRecordSetRoutingPolicyWrrArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrArrayOutput

type RecordSetRoutingPolicyWrrArrayInput

type RecordSetRoutingPolicyWrrArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrArrayOutput() RecordSetRoutingPolicyWrrArrayOutput
	ToRecordSetRoutingPolicyWrrArrayOutputWithContext(context.Context) RecordSetRoutingPolicyWrrArrayOutput
}

RecordSetRoutingPolicyWrrArrayInput is an input type that accepts RecordSetRoutingPolicyWrrArray and RecordSetRoutingPolicyWrrArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrArrayInput` via:

RecordSetRoutingPolicyWrrArray{ RecordSetRoutingPolicyWrrArgs{...} }

type RecordSetRoutingPolicyWrrArrayOutput

type RecordSetRoutingPolicyWrrArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrArrayOutput) ElementType

func (RecordSetRoutingPolicyWrrArrayOutput) Index

func (RecordSetRoutingPolicyWrrArrayOutput) ToRecordSetRoutingPolicyWrrArrayOutput

func (o RecordSetRoutingPolicyWrrArrayOutput) ToRecordSetRoutingPolicyWrrArrayOutput() RecordSetRoutingPolicyWrrArrayOutput

func (RecordSetRoutingPolicyWrrArrayOutput) ToRecordSetRoutingPolicyWrrArrayOutputWithContext

func (o RecordSetRoutingPolicyWrrArrayOutput) ToRecordSetRoutingPolicyWrrArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrArrayOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargets

type RecordSetRoutingPolicyWrrHealthCheckedTargets struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers []RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer `pulumi:"internalLoadBalancers"`
}

type RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs

type RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs struct {
	// The list of internal load balancers to health check.
	// Structure is documented below.
	InternalLoadBalancers RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayInput `pulumi:"internalLoadBalancers"`
}

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputWithContext

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput
	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputWithContext(context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput
}

RecordSetRoutingPolicyWrrHealthCheckedTargetsInput is an input type that accepts RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs and RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrHealthCheckedTargetsInput` via:

RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs{...}

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer struct {
	// The frontend IP address of the load balancer.
	IpAddress string `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol string `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl string `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port string `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project string `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region *string `pulumi:"region"`
}

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs struct {
	// The frontend IP address of the load balancer.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]
	LoadBalancerType pulumi.StringInput `pulumi:"loadBalancerType"`
	// The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
	// The configured port of the load balancer.
	Port pulumi.StringInput `pulumi:"port"`
	// The ID of the project in which the load balancer belongs.
	Project pulumi.StringInput `pulumi:"project"`
	// The region of the load balancer. Only needed for regional load balancers.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutputWithContext

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray []RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerInput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

func (i RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayInput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput
	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext(context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput
}

RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayInput is an input type that accepts RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray and RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayInput` via:

RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArray{ RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs{...} }

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArrayOutputWithContext

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerInput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput
	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutputWithContext(context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput
}

RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerInput is an input type that accepts RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs and RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerInput` via:

RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs{...}

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) IpAddress

The frontend IP address of the load balancer.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) IpProtocol

The configured IP protocol of the load balancer. This value is case-sensitive. Possible values: ["tcp", "udp"]

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) LoadBalancerType

The type of load balancer. This value is case-sensitive. Possible values: ["regionalL4ilb", "regionalL7ilb", "globalL7ilb"]

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) NetworkUrl

The fully qualified url of the network in which the load balancer belongs. This should be formatted like `projects/{project}/global/networks/{network}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) Port

The configured port of the load balancer.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) Project

The ID of the project in which the load balancer belongs.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) Region

The region of the load balancer. Only needed for regional load balancers.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutputWithContext

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputWithContext

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrInput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput() RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput
	ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext(context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput
}

RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrInput is an input type that accepts RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs, RecordSetRoutingPolicyWrrHealthCheckedTargetsPtr and RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrInput` via:

        RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs{...}

or:

        nil

type RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) Elem

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) ElementType

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) InternalLoadBalancers

The list of internal load balancers to health check. Structure is documented below.

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

func (RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext

func (o RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput) ToRecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrHealthCheckedTargetsPtrOutput

type RecordSetRoutingPolicyWrrInput

type RecordSetRoutingPolicyWrrInput interface {
	pulumi.Input

	ToRecordSetRoutingPolicyWrrOutput() RecordSetRoutingPolicyWrrOutput
	ToRecordSetRoutingPolicyWrrOutputWithContext(context.Context) RecordSetRoutingPolicyWrrOutput
}

RecordSetRoutingPolicyWrrInput is an input type that accepts RecordSetRoutingPolicyWrrArgs and RecordSetRoutingPolicyWrrOutput values. You can construct a concrete instance of `RecordSetRoutingPolicyWrrInput` via:

RecordSetRoutingPolicyWrrArgs{...}

type RecordSetRoutingPolicyWrrOutput

type RecordSetRoutingPolicyWrrOutput struct{ *pulumi.OutputState }

func (RecordSetRoutingPolicyWrrOutput) ElementType

func (RecordSetRoutingPolicyWrrOutput) HealthCheckedTargets

The list of targets to be health checked. Note that if DNSSEC is enabled for this zone, only one of `rrdatas` or `healthCheckedTargets` can be set. Structure is documented below.

func (RecordSetRoutingPolicyWrrOutput) Rrdatas

Same as `rrdatas` above.

func (RecordSetRoutingPolicyWrrOutput) ToRecordSetRoutingPolicyWrrOutput

func (o RecordSetRoutingPolicyWrrOutput) ToRecordSetRoutingPolicyWrrOutput() RecordSetRoutingPolicyWrrOutput

func (RecordSetRoutingPolicyWrrOutput) ToRecordSetRoutingPolicyWrrOutputWithContext

func (o RecordSetRoutingPolicyWrrOutput) ToRecordSetRoutingPolicyWrrOutputWithContext(ctx context.Context) RecordSetRoutingPolicyWrrOutput

func (RecordSetRoutingPolicyWrrOutput) Weight

The ratio of traffic routed to the target.

type RecordSetState

type RecordSetState struct {
	// The name of the zone in which this record set will
	// reside.
	ManagedZone pulumi.StringPtrInput
	// The DNS name this record set will apply to.
	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 configuration for steering traffic based on query.
	// Now you can specify either Weighted Round Robin(WRR) type or Geolocation(GEO) type.
	// Structure is documented below.
	RoutingPolicy RecordSetRoutingPolicyPtrInput
	// The string data for the records in this record set whose meaning depends on the DNS type. For TXT record, if the string
	// data contains spaces, add surrounding \" if you don't want your string to get split on spaces. To specify a single
	// record value longer than 255 characters such as a TXT record for DKIM, add \"\" inside the Terraform configuration
	// string (e.g. "first255characters\"\"morecharacters").
	Rrdatas pulumi.StringArrayInput
	// The time-to-live of this record set (seconds).
	Ttl pulumi.IntPtrInput
	// The DNS record set type.
	//
	// ***
	Type pulumi.StringPtrInput
}

func (RecordSetState) ElementType

func (RecordSetState) ElementType() reflect.Type

type ResponsePolicy

type ResponsePolicy struct {
	pulumi.CustomResourceState

	// The description of the response policy, such as `My new response policy`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The list of Google Kubernetes Engine clusters that can see this zone.
	// Structure is documented below.
	GkeClusters ResponsePolicyGkeClusterArrayOutput `pulumi:"gkeClusters"`
	// The list of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks ResponsePolicyNetworkArrayOutput `pulumi:"networks"`
	// 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 user assigned name for this Response Policy, such as `myresponsepolicy`.
	//
	// ***
	ResponsePolicyName pulumi.StringOutput `pulumi:"responsePolicyName"`
}

A Response Policy is a collection of selectors that apply to queries made against one or more Virtual Private Cloud networks.

## Example Usage

### Dns Response Policy Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-2", &compute.NetworkArgs{
			Name:                  pulumi.String("network-2"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewSubnetwork(ctx, "subnetwork-1", &compute.SubnetworkArgs{
			Name:                  network_1.Name,
			Network:               network_1.Name,
			IpCidrRange:           pulumi.String("10.0.36.0/24"),
			Region:                pulumi.String("us-central1"),
			PrivateIpGoogleAccess: pulumi.Bool(true),
			SecondaryIpRanges: compute.SubnetworkSecondaryIpRangeArray{
				&compute.SubnetworkSecondaryIpRangeArgs{
					RangeName:   pulumi.String("pod"),
					IpCidrRange: pulumi.String("10.0.0.0/19"),
				},
				&compute.SubnetworkSecondaryIpRangeArgs{
					RangeName:   pulumi.String("svc"),
					IpCidrRange: pulumi.String("10.0.32.0/22"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = container.NewCluster(ctx, "cluster-1", &container.ClusterArgs{
			Name:             pulumi.String("cluster-1"),
			Location:         pulumi.String("us-central1-c"),
			InitialNodeCount: pulumi.Int(1),
			NetworkingMode:   pulumi.String("VPC_NATIVE"),
			DefaultSnatStatus: &container.ClusterDefaultSnatStatusArgs{
				Disabled: pulumi.Bool(true),
			},
			Network:    network_1.Name,
			Subnetwork: subnetwork_1.Name,
			PrivateClusterConfig: &container.ClusterPrivateClusterConfigArgs{
				EnablePrivateEndpoint: pulumi.Bool(true),
				EnablePrivateNodes:    pulumi.Bool(true),
				MasterIpv4CidrBlock:   pulumi.String("10.42.0.0/28"),
				MasterGlobalAccessConfig: &container.ClusterPrivateClusterConfigMasterGlobalAccessConfigArgs{
					Enabled: pulumi.Bool(true),
				},
			},
			MasterAuthorizedNetworksConfig: nil,
			IpAllocationPolicy: &container.ClusterIpAllocationPolicyArgs{
				ClusterSecondaryRangeName: subnetwork_1.SecondaryIpRanges.ApplyT(func(secondaryIpRanges []compute.SubnetworkSecondaryIpRange) (*string, error) {
					return &secondaryIpRanges[0].RangeName, nil
				}).(pulumi.StringPtrOutput),
				ServicesSecondaryRangeName: subnetwork_1.SecondaryIpRanges.ApplyT(func(secondaryIpRanges []compute.SubnetworkSecondaryIpRange) (*string, error) {
					return &secondaryIpRanges[1].RangeName, nil
				}).(pulumi.StringPtrOutput),
			},
			DeletionProtection: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewResponsePolicy(ctx, "example-response-policy", &dns.ResponsePolicyArgs{
			ResponsePolicyName: pulumi.String("example-response-policy"),
			Networks: dns.ResponsePolicyNetworkArray{
				&dns.ResponsePolicyNetworkArgs{
					NetworkUrl: network_1.ID(),
				},
				&dns.ResponsePolicyNetworkArgs{
					NetworkUrl: network_2.ID(),
				},
			},
			GkeClusters: dns.ResponsePolicyGkeClusterArray{
				&dns.ResponsePolicyGkeClusterArgs{
					GkeClusterName: cluster_1.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ResponsePolicy can be imported using any of these accepted formats:

* `projects/{{project}}/responsePolicies/{{response_policy_name}}`

* `{{project}}/{{response_policy_name}}`

* `{{response_policy_name}}`

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

```sh $ pulumi import gcp:dns/responsePolicy:ResponsePolicy default projects/{{project}}/responsePolicies/{{response_policy_name}} ```

```sh $ pulumi import gcp:dns/responsePolicy:ResponsePolicy default {{project}}/{{response_policy_name}} ```

```sh $ pulumi import gcp:dns/responsePolicy:ResponsePolicy default {{response_policy_name}} ```

func GetResponsePolicy

func GetResponsePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResponsePolicyState, opts ...pulumi.ResourceOption) (*ResponsePolicy, error)

GetResponsePolicy gets an existing ResponsePolicy 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 NewResponsePolicy

func NewResponsePolicy(ctx *pulumi.Context,
	name string, args *ResponsePolicyArgs, opts ...pulumi.ResourceOption) (*ResponsePolicy, error)

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

func (*ResponsePolicy) ElementType

func (*ResponsePolicy) ElementType() reflect.Type

func (*ResponsePolicy) ToResponsePolicyOutput

func (i *ResponsePolicy) ToResponsePolicyOutput() ResponsePolicyOutput

func (*ResponsePolicy) ToResponsePolicyOutputWithContext

func (i *ResponsePolicy) ToResponsePolicyOutputWithContext(ctx context.Context) ResponsePolicyOutput

type ResponsePolicyArgs

type ResponsePolicyArgs struct {
	// The description of the response policy, such as `My new response policy`.
	Description pulumi.StringPtrInput
	// The list of Google Kubernetes Engine clusters that can see this zone.
	// Structure is documented below.
	GkeClusters ResponsePolicyGkeClusterArrayInput
	// The list of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks ResponsePolicyNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The user assigned name for this Response Policy, such as `myresponsepolicy`.
	//
	// ***
	ResponsePolicyName pulumi.StringInput
}

The set of arguments for constructing a ResponsePolicy resource.

func (ResponsePolicyArgs) ElementType

func (ResponsePolicyArgs) ElementType() reflect.Type

type ResponsePolicyArray

type ResponsePolicyArray []ResponsePolicyInput

func (ResponsePolicyArray) ElementType

func (ResponsePolicyArray) ElementType() reflect.Type

func (ResponsePolicyArray) ToResponsePolicyArrayOutput

func (i ResponsePolicyArray) ToResponsePolicyArrayOutput() ResponsePolicyArrayOutput

func (ResponsePolicyArray) ToResponsePolicyArrayOutputWithContext

func (i ResponsePolicyArray) ToResponsePolicyArrayOutputWithContext(ctx context.Context) ResponsePolicyArrayOutput

type ResponsePolicyArrayInput

type ResponsePolicyArrayInput interface {
	pulumi.Input

	ToResponsePolicyArrayOutput() ResponsePolicyArrayOutput
	ToResponsePolicyArrayOutputWithContext(context.Context) ResponsePolicyArrayOutput
}

ResponsePolicyArrayInput is an input type that accepts ResponsePolicyArray and ResponsePolicyArrayOutput values. You can construct a concrete instance of `ResponsePolicyArrayInput` via:

ResponsePolicyArray{ ResponsePolicyArgs{...} }

type ResponsePolicyArrayOutput

type ResponsePolicyArrayOutput struct{ *pulumi.OutputState }

func (ResponsePolicyArrayOutput) ElementType

func (ResponsePolicyArrayOutput) ElementType() reflect.Type

func (ResponsePolicyArrayOutput) Index

func (ResponsePolicyArrayOutput) ToResponsePolicyArrayOutput

func (o ResponsePolicyArrayOutput) ToResponsePolicyArrayOutput() ResponsePolicyArrayOutput

func (ResponsePolicyArrayOutput) ToResponsePolicyArrayOutputWithContext

func (o ResponsePolicyArrayOutput) ToResponsePolicyArrayOutputWithContext(ctx context.Context) ResponsePolicyArrayOutput

type ResponsePolicyGkeCluster

type ResponsePolicyGkeCluster struct {
	// The resource name of the cluster to bind this ManagedZone to.
	// This should be specified in the format like
	// `projects/*/locations/*/clusters/*`
	GkeClusterName string `pulumi:"gkeClusterName"`
}

type ResponsePolicyGkeClusterArgs

type ResponsePolicyGkeClusterArgs struct {
	// The resource name of the cluster to bind this ManagedZone to.
	// This should be specified in the format like
	// `projects/*/locations/*/clusters/*`
	GkeClusterName pulumi.StringInput `pulumi:"gkeClusterName"`
}

func (ResponsePolicyGkeClusterArgs) ElementType

func (ResponsePolicyGkeClusterArgs) ToResponsePolicyGkeClusterOutput

func (i ResponsePolicyGkeClusterArgs) ToResponsePolicyGkeClusterOutput() ResponsePolicyGkeClusterOutput

func (ResponsePolicyGkeClusterArgs) ToResponsePolicyGkeClusterOutputWithContext

func (i ResponsePolicyGkeClusterArgs) ToResponsePolicyGkeClusterOutputWithContext(ctx context.Context) ResponsePolicyGkeClusterOutput

type ResponsePolicyGkeClusterArray

type ResponsePolicyGkeClusterArray []ResponsePolicyGkeClusterInput

func (ResponsePolicyGkeClusterArray) ElementType

func (ResponsePolicyGkeClusterArray) ToResponsePolicyGkeClusterArrayOutput

func (i ResponsePolicyGkeClusterArray) ToResponsePolicyGkeClusterArrayOutput() ResponsePolicyGkeClusterArrayOutput

func (ResponsePolicyGkeClusterArray) ToResponsePolicyGkeClusterArrayOutputWithContext

func (i ResponsePolicyGkeClusterArray) ToResponsePolicyGkeClusterArrayOutputWithContext(ctx context.Context) ResponsePolicyGkeClusterArrayOutput

type ResponsePolicyGkeClusterArrayInput

type ResponsePolicyGkeClusterArrayInput interface {
	pulumi.Input

	ToResponsePolicyGkeClusterArrayOutput() ResponsePolicyGkeClusterArrayOutput
	ToResponsePolicyGkeClusterArrayOutputWithContext(context.Context) ResponsePolicyGkeClusterArrayOutput
}

ResponsePolicyGkeClusterArrayInput is an input type that accepts ResponsePolicyGkeClusterArray and ResponsePolicyGkeClusterArrayOutput values. You can construct a concrete instance of `ResponsePolicyGkeClusterArrayInput` via:

ResponsePolicyGkeClusterArray{ ResponsePolicyGkeClusterArgs{...} }

type ResponsePolicyGkeClusterArrayOutput

type ResponsePolicyGkeClusterArrayOutput struct{ *pulumi.OutputState }

func (ResponsePolicyGkeClusterArrayOutput) ElementType

func (ResponsePolicyGkeClusterArrayOutput) Index

func (ResponsePolicyGkeClusterArrayOutput) ToResponsePolicyGkeClusterArrayOutput

func (o ResponsePolicyGkeClusterArrayOutput) ToResponsePolicyGkeClusterArrayOutput() ResponsePolicyGkeClusterArrayOutput

func (ResponsePolicyGkeClusterArrayOutput) ToResponsePolicyGkeClusterArrayOutputWithContext

func (o ResponsePolicyGkeClusterArrayOutput) ToResponsePolicyGkeClusterArrayOutputWithContext(ctx context.Context) ResponsePolicyGkeClusterArrayOutput

type ResponsePolicyGkeClusterInput

type ResponsePolicyGkeClusterInput interface {
	pulumi.Input

	ToResponsePolicyGkeClusterOutput() ResponsePolicyGkeClusterOutput
	ToResponsePolicyGkeClusterOutputWithContext(context.Context) ResponsePolicyGkeClusterOutput
}

ResponsePolicyGkeClusterInput is an input type that accepts ResponsePolicyGkeClusterArgs and ResponsePolicyGkeClusterOutput values. You can construct a concrete instance of `ResponsePolicyGkeClusterInput` via:

ResponsePolicyGkeClusterArgs{...}

type ResponsePolicyGkeClusterOutput

type ResponsePolicyGkeClusterOutput struct{ *pulumi.OutputState }

func (ResponsePolicyGkeClusterOutput) ElementType

func (ResponsePolicyGkeClusterOutput) GkeClusterName

The resource name of the cluster to bind this ManagedZone to. This should be specified in the format like `projects/*/locations/*/clusters/*`

func (ResponsePolicyGkeClusterOutput) ToResponsePolicyGkeClusterOutput

func (o ResponsePolicyGkeClusterOutput) ToResponsePolicyGkeClusterOutput() ResponsePolicyGkeClusterOutput

func (ResponsePolicyGkeClusterOutput) ToResponsePolicyGkeClusterOutputWithContext

func (o ResponsePolicyGkeClusterOutput) ToResponsePolicyGkeClusterOutputWithContext(ctx context.Context) ResponsePolicyGkeClusterOutput

type ResponsePolicyInput

type ResponsePolicyInput interface {
	pulumi.Input

	ToResponsePolicyOutput() ResponsePolicyOutput
	ToResponsePolicyOutputWithContext(ctx context.Context) ResponsePolicyOutput
}

type ResponsePolicyMap

type ResponsePolicyMap map[string]ResponsePolicyInput

func (ResponsePolicyMap) ElementType

func (ResponsePolicyMap) ElementType() reflect.Type

func (ResponsePolicyMap) ToResponsePolicyMapOutput

func (i ResponsePolicyMap) ToResponsePolicyMapOutput() ResponsePolicyMapOutput

func (ResponsePolicyMap) ToResponsePolicyMapOutputWithContext

func (i ResponsePolicyMap) ToResponsePolicyMapOutputWithContext(ctx context.Context) ResponsePolicyMapOutput

type ResponsePolicyMapInput

type ResponsePolicyMapInput interface {
	pulumi.Input

	ToResponsePolicyMapOutput() ResponsePolicyMapOutput
	ToResponsePolicyMapOutputWithContext(context.Context) ResponsePolicyMapOutput
}

ResponsePolicyMapInput is an input type that accepts ResponsePolicyMap and ResponsePolicyMapOutput values. You can construct a concrete instance of `ResponsePolicyMapInput` via:

ResponsePolicyMap{ "key": ResponsePolicyArgs{...} }

type ResponsePolicyMapOutput

type ResponsePolicyMapOutput struct{ *pulumi.OutputState }

func (ResponsePolicyMapOutput) ElementType

func (ResponsePolicyMapOutput) ElementType() reflect.Type

func (ResponsePolicyMapOutput) MapIndex

func (ResponsePolicyMapOutput) ToResponsePolicyMapOutput

func (o ResponsePolicyMapOutput) ToResponsePolicyMapOutput() ResponsePolicyMapOutput

func (ResponsePolicyMapOutput) ToResponsePolicyMapOutputWithContext

func (o ResponsePolicyMapOutput) ToResponsePolicyMapOutputWithContext(ctx context.Context) ResponsePolicyMapOutput

type ResponsePolicyNetwork

type ResponsePolicyNetwork struct {
	// The fully qualified URL of the VPC network to bind to.
	// This should be formatted like
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl string `pulumi:"networkUrl"`
}

type ResponsePolicyNetworkArgs

type ResponsePolicyNetworkArgs struct {
	// The fully qualified URL of the VPC network to bind to.
	// This should be formatted like
	// `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`
	NetworkUrl pulumi.StringInput `pulumi:"networkUrl"`
}

func (ResponsePolicyNetworkArgs) ElementType

func (ResponsePolicyNetworkArgs) ElementType() reflect.Type

func (ResponsePolicyNetworkArgs) ToResponsePolicyNetworkOutput

func (i ResponsePolicyNetworkArgs) ToResponsePolicyNetworkOutput() ResponsePolicyNetworkOutput

func (ResponsePolicyNetworkArgs) ToResponsePolicyNetworkOutputWithContext

func (i ResponsePolicyNetworkArgs) ToResponsePolicyNetworkOutputWithContext(ctx context.Context) ResponsePolicyNetworkOutput

type ResponsePolicyNetworkArray

type ResponsePolicyNetworkArray []ResponsePolicyNetworkInput

func (ResponsePolicyNetworkArray) ElementType

func (ResponsePolicyNetworkArray) ElementType() reflect.Type

func (ResponsePolicyNetworkArray) ToResponsePolicyNetworkArrayOutput

func (i ResponsePolicyNetworkArray) ToResponsePolicyNetworkArrayOutput() ResponsePolicyNetworkArrayOutput

func (ResponsePolicyNetworkArray) ToResponsePolicyNetworkArrayOutputWithContext

func (i ResponsePolicyNetworkArray) ToResponsePolicyNetworkArrayOutputWithContext(ctx context.Context) ResponsePolicyNetworkArrayOutput

type ResponsePolicyNetworkArrayInput

type ResponsePolicyNetworkArrayInput interface {
	pulumi.Input

	ToResponsePolicyNetworkArrayOutput() ResponsePolicyNetworkArrayOutput
	ToResponsePolicyNetworkArrayOutputWithContext(context.Context) ResponsePolicyNetworkArrayOutput
}

ResponsePolicyNetworkArrayInput is an input type that accepts ResponsePolicyNetworkArray and ResponsePolicyNetworkArrayOutput values. You can construct a concrete instance of `ResponsePolicyNetworkArrayInput` via:

ResponsePolicyNetworkArray{ ResponsePolicyNetworkArgs{...} }

type ResponsePolicyNetworkArrayOutput

type ResponsePolicyNetworkArrayOutput struct{ *pulumi.OutputState }

func (ResponsePolicyNetworkArrayOutput) ElementType

func (ResponsePolicyNetworkArrayOutput) Index

func (ResponsePolicyNetworkArrayOutput) ToResponsePolicyNetworkArrayOutput

func (o ResponsePolicyNetworkArrayOutput) ToResponsePolicyNetworkArrayOutput() ResponsePolicyNetworkArrayOutput

func (ResponsePolicyNetworkArrayOutput) ToResponsePolicyNetworkArrayOutputWithContext

func (o ResponsePolicyNetworkArrayOutput) ToResponsePolicyNetworkArrayOutputWithContext(ctx context.Context) ResponsePolicyNetworkArrayOutput

type ResponsePolicyNetworkInput

type ResponsePolicyNetworkInput interface {
	pulumi.Input

	ToResponsePolicyNetworkOutput() ResponsePolicyNetworkOutput
	ToResponsePolicyNetworkOutputWithContext(context.Context) ResponsePolicyNetworkOutput
}

ResponsePolicyNetworkInput is an input type that accepts ResponsePolicyNetworkArgs and ResponsePolicyNetworkOutput values. You can construct a concrete instance of `ResponsePolicyNetworkInput` via:

ResponsePolicyNetworkArgs{...}

type ResponsePolicyNetworkOutput

type ResponsePolicyNetworkOutput struct{ *pulumi.OutputState }

func (ResponsePolicyNetworkOutput) ElementType

func (ResponsePolicyNetworkOutput) NetworkUrl

The fully qualified URL of the VPC network to bind to. This should be formatted like `https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}`

func (ResponsePolicyNetworkOutput) ToResponsePolicyNetworkOutput

func (o ResponsePolicyNetworkOutput) ToResponsePolicyNetworkOutput() ResponsePolicyNetworkOutput

func (ResponsePolicyNetworkOutput) ToResponsePolicyNetworkOutputWithContext

func (o ResponsePolicyNetworkOutput) ToResponsePolicyNetworkOutputWithContext(ctx context.Context) ResponsePolicyNetworkOutput

type ResponsePolicyOutput

type ResponsePolicyOutput struct{ *pulumi.OutputState }

func (ResponsePolicyOutput) Description

The description of the response policy, such as `My new response policy`.

func (ResponsePolicyOutput) ElementType

func (ResponsePolicyOutput) ElementType() reflect.Type

func (ResponsePolicyOutput) GkeClusters

The list of Google Kubernetes Engine clusters that can see this zone. Structure is documented below.

func (ResponsePolicyOutput) Networks

The list of network names specifying networks to which this policy is applied. Structure is documented below.

func (ResponsePolicyOutput) Project

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

func (ResponsePolicyOutput) ResponsePolicyName

func (o ResponsePolicyOutput) ResponsePolicyName() pulumi.StringOutput

The user assigned name for this Response Policy, such as `myresponsepolicy`.

***

func (ResponsePolicyOutput) ToResponsePolicyOutput

func (o ResponsePolicyOutput) ToResponsePolicyOutput() ResponsePolicyOutput

func (ResponsePolicyOutput) ToResponsePolicyOutputWithContext

func (o ResponsePolicyOutput) ToResponsePolicyOutputWithContext(ctx context.Context) ResponsePolicyOutput

type ResponsePolicyRule

type ResponsePolicyRule struct {
	pulumi.CustomResourceState

	// Answer this query with a behavior rather than DNS data. Acceptable values are 'behaviorUnspecified', and 'bypassResponsePolicy'
	Behavior pulumi.StringPtrOutput `pulumi:"behavior"`
	// The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
	DnsName pulumi.StringOutput `pulumi:"dnsName"`
	// Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name;
	// in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
	// Structure is documented below.
	LocalData ResponsePolicyRuleLocalDataPtrOutput `pulumi:"localData"`
	// 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"`
	// Identifies the response policy addressed by this request.
	//
	// ***
	ResponsePolicy pulumi.StringOutput `pulumi:"responsePolicy"`
	// An identifier for this rule. Must be unique with the ResponsePolicy.
	RuleName pulumi.StringOutput `pulumi:"ruleName"`
}

A Response Policy Rule is a selector that applies its behavior to queries that match the selector. Selectors are DNS names, which may be wildcards or exact matches. Each DNS query subject to a Response Policy matches at most one ResponsePolicyRule, as identified by the dnsName field with the longest matching suffix.

## Example Usage

### Dns Response Policy Rule Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dns"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "network-1", &compute.NetworkArgs{
			Name:                  pulumi.String("network-1"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "network-2", &compute.NetworkArgs{
			Name:                  pulumi.String("network-2"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = dns.NewResponsePolicy(ctx, "response-policy", &dns.ResponsePolicyArgs{
			ResponsePolicyName: pulumi.String("example-response-policy"),
			Networks: dns.ResponsePolicyNetworkArray{
				&dns.ResponsePolicyNetworkArgs{
					NetworkUrl: network_1.ID(),
				},
				&dns.ResponsePolicyNetworkArgs{
					NetworkUrl: network_2.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = dns.NewResponsePolicyRule(ctx, "example-response-policy-rule", &dns.ResponsePolicyRuleArgs{
			ResponsePolicy: response_policy.ResponsePolicyName,
			RuleName:       pulumi.String("example-rule"),
			DnsName:        pulumi.String("dns.example.com."),
			LocalData: &dns.ResponsePolicyRuleLocalDataArgs{
				LocalDatas: dns.ResponsePolicyRuleLocalDataLocalDataArray{
					&dns.ResponsePolicyRuleLocalDataLocalDataArgs{
						Name: pulumi.String("dns.example.com."),
						Type: pulumi.String("A"),
						Ttl:  pulumi.Int(300),
						Rrdatas: pulumi.StringArray{
							pulumi.String("192.0.2.91"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ResponsePolicyRule can be imported using any of these accepted formats:

* `projects/{{project}}/responsePolicies/{{response_policy}}/rules/{{rule_name}}`

* `{{project}}/{{response_policy}}/{{rule_name}}`

* `{{response_policy}}/{{rule_name}}`

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

```sh $ pulumi import gcp:dns/responsePolicyRule:ResponsePolicyRule default projects/{{project}}/responsePolicies/{{response_policy}}/rules/{{rule_name}} ```

```sh $ pulumi import gcp:dns/responsePolicyRule:ResponsePolicyRule default {{project}}/{{response_policy}}/{{rule_name}} ```

```sh $ pulumi import gcp:dns/responsePolicyRule:ResponsePolicyRule default {{response_policy}}/{{rule_name}} ```

func GetResponsePolicyRule

func GetResponsePolicyRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResponsePolicyRuleState, opts ...pulumi.ResourceOption) (*ResponsePolicyRule, error)

GetResponsePolicyRule gets an existing ResponsePolicyRule 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 NewResponsePolicyRule

func NewResponsePolicyRule(ctx *pulumi.Context,
	name string, args *ResponsePolicyRuleArgs, opts ...pulumi.ResourceOption) (*ResponsePolicyRule, error)

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

func (*ResponsePolicyRule) ElementType

func (*ResponsePolicyRule) ElementType() reflect.Type

func (*ResponsePolicyRule) ToResponsePolicyRuleOutput

func (i *ResponsePolicyRule) ToResponsePolicyRuleOutput() ResponsePolicyRuleOutput

func (*ResponsePolicyRule) ToResponsePolicyRuleOutputWithContext

func (i *ResponsePolicyRule) ToResponsePolicyRuleOutputWithContext(ctx context.Context) ResponsePolicyRuleOutput

type ResponsePolicyRuleArgs

type ResponsePolicyRuleArgs struct {
	// Answer this query with a behavior rather than DNS data. Acceptable values are 'behaviorUnspecified', and 'bypassResponsePolicy'
	Behavior pulumi.StringPtrInput
	// The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
	DnsName pulumi.StringInput
	// Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name;
	// in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
	// Structure is documented below.
	LocalData ResponsePolicyRuleLocalDataPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Identifies the response policy addressed by this request.
	//
	// ***
	ResponsePolicy pulumi.StringInput
	// An identifier for this rule. Must be unique with the ResponsePolicy.
	RuleName pulumi.StringInput
}

The set of arguments for constructing a ResponsePolicyRule resource.

func (ResponsePolicyRuleArgs) ElementType

func (ResponsePolicyRuleArgs) ElementType() reflect.Type

type ResponsePolicyRuleArray

type ResponsePolicyRuleArray []ResponsePolicyRuleInput

func (ResponsePolicyRuleArray) ElementType

func (ResponsePolicyRuleArray) ElementType() reflect.Type

func (ResponsePolicyRuleArray) ToResponsePolicyRuleArrayOutput

func (i ResponsePolicyRuleArray) ToResponsePolicyRuleArrayOutput() ResponsePolicyRuleArrayOutput

func (ResponsePolicyRuleArray) ToResponsePolicyRuleArrayOutputWithContext

func (i ResponsePolicyRuleArray) ToResponsePolicyRuleArrayOutputWithContext(ctx context.Context) ResponsePolicyRuleArrayOutput

type ResponsePolicyRuleArrayInput

type ResponsePolicyRuleArrayInput interface {
	pulumi.Input

	ToResponsePolicyRuleArrayOutput() ResponsePolicyRuleArrayOutput
	ToResponsePolicyRuleArrayOutputWithContext(context.Context) ResponsePolicyRuleArrayOutput
}

ResponsePolicyRuleArrayInput is an input type that accepts ResponsePolicyRuleArray and ResponsePolicyRuleArrayOutput values. You can construct a concrete instance of `ResponsePolicyRuleArrayInput` via:

ResponsePolicyRuleArray{ ResponsePolicyRuleArgs{...} }

type ResponsePolicyRuleArrayOutput

type ResponsePolicyRuleArrayOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleArrayOutput) ElementType

func (ResponsePolicyRuleArrayOutput) Index

func (ResponsePolicyRuleArrayOutput) ToResponsePolicyRuleArrayOutput

func (o ResponsePolicyRuleArrayOutput) ToResponsePolicyRuleArrayOutput() ResponsePolicyRuleArrayOutput

func (ResponsePolicyRuleArrayOutput) ToResponsePolicyRuleArrayOutputWithContext

func (o ResponsePolicyRuleArrayOutput) ToResponsePolicyRuleArrayOutputWithContext(ctx context.Context) ResponsePolicyRuleArrayOutput

type ResponsePolicyRuleInput

type ResponsePolicyRuleInput interface {
	pulumi.Input

	ToResponsePolicyRuleOutput() ResponsePolicyRuleOutput
	ToResponsePolicyRuleOutputWithContext(ctx context.Context) ResponsePolicyRuleOutput
}

type ResponsePolicyRuleLocalData

type ResponsePolicyRuleLocalData struct {
	// All resource record sets for this selector, one per resource record type. The name must match the dns_name.
	// Structure is documented below.
	LocalDatas []ResponsePolicyRuleLocalDataLocalData `pulumi:"localDatas"`
}

type ResponsePolicyRuleLocalDataArgs

type ResponsePolicyRuleLocalDataArgs struct {
	// All resource record sets for this selector, one per resource record type. The name must match the dns_name.
	// Structure is documented below.
	LocalDatas ResponsePolicyRuleLocalDataLocalDataArrayInput `pulumi:"localDatas"`
}

func (ResponsePolicyRuleLocalDataArgs) ElementType

func (ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataOutput

func (i ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataOutput() ResponsePolicyRuleLocalDataOutput

func (ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataOutputWithContext

func (i ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataOutput

func (ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataPtrOutput

func (i ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataPtrOutput() ResponsePolicyRuleLocalDataPtrOutput

func (ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataPtrOutputWithContext

func (i ResponsePolicyRuleLocalDataArgs) ToResponsePolicyRuleLocalDataPtrOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataPtrOutput

type ResponsePolicyRuleLocalDataInput

type ResponsePolicyRuleLocalDataInput interface {
	pulumi.Input

	ToResponsePolicyRuleLocalDataOutput() ResponsePolicyRuleLocalDataOutput
	ToResponsePolicyRuleLocalDataOutputWithContext(context.Context) ResponsePolicyRuleLocalDataOutput
}

ResponsePolicyRuleLocalDataInput is an input type that accepts ResponsePolicyRuleLocalDataArgs and ResponsePolicyRuleLocalDataOutput values. You can construct a concrete instance of `ResponsePolicyRuleLocalDataInput` via:

ResponsePolicyRuleLocalDataArgs{...}

type ResponsePolicyRuleLocalDataLocalData

type ResponsePolicyRuleLocalDataLocalData struct {
	// For example, www.example.com.
	Name string `pulumi:"name"`
	// As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
	Rrdatas []string `pulumi:"rrdatas"`
	// Number of seconds that this ResourceRecordSet can be cached by
	// resolvers.
	Ttl *int `pulumi:"ttl"`
	// One of valid DNS resource types.
	// Possible values are: `A`, `AAAA`, `CAA`, `CNAME`, `DNSKEY`, `DS`, `HTTPS`, `IPSECVPNKEY`, `MX`, `NAPTR`, `NS`, `PTR`, `SOA`, `SPF`, `SRV`, `SSHFP`, `SVCB`, `TLSA`, `TXT`.
	Type string `pulumi:"type"`
}

type ResponsePolicyRuleLocalDataLocalDataArgs

type ResponsePolicyRuleLocalDataLocalDataArgs struct {
	// For example, www.example.com.
	Name pulumi.StringInput `pulumi:"name"`
	// As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)
	Rrdatas pulumi.StringArrayInput `pulumi:"rrdatas"`
	// Number of seconds that this ResourceRecordSet can be cached by
	// resolvers.
	Ttl pulumi.IntPtrInput `pulumi:"ttl"`
	// One of valid DNS resource types.
	// Possible values are: `A`, `AAAA`, `CAA`, `CNAME`, `DNSKEY`, `DS`, `HTTPS`, `IPSECVPNKEY`, `MX`, `NAPTR`, `NS`, `PTR`, `SOA`, `SPF`, `SRV`, `SSHFP`, `SVCB`, `TLSA`, `TXT`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (ResponsePolicyRuleLocalDataLocalDataArgs) ElementType

func (ResponsePolicyRuleLocalDataLocalDataArgs) ToResponsePolicyRuleLocalDataLocalDataOutput

func (i ResponsePolicyRuleLocalDataLocalDataArgs) ToResponsePolicyRuleLocalDataLocalDataOutput() ResponsePolicyRuleLocalDataLocalDataOutput

func (ResponsePolicyRuleLocalDataLocalDataArgs) ToResponsePolicyRuleLocalDataLocalDataOutputWithContext

func (i ResponsePolicyRuleLocalDataLocalDataArgs) ToResponsePolicyRuleLocalDataLocalDataOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataLocalDataOutput

type ResponsePolicyRuleLocalDataLocalDataArray

type ResponsePolicyRuleLocalDataLocalDataArray []ResponsePolicyRuleLocalDataLocalDataInput

func (ResponsePolicyRuleLocalDataLocalDataArray) ElementType

func (ResponsePolicyRuleLocalDataLocalDataArray) ToResponsePolicyRuleLocalDataLocalDataArrayOutput

func (i ResponsePolicyRuleLocalDataLocalDataArray) ToResponsePolicyRuleLocalDataLocalDataArrayOutput() ResponsePolicyRuleLocalDataLocalDataArrayOutput

func (ResponsePolicyRuleLocalDataLocalDataArray) ToResponsePolicyRuleLocalDataLocalDataArrayOutputWithContext

func (i ResponsePolicyRuleLocalDataLocalDataArray) ToResponsePolicyRuleLocalDataLocalDataArrayOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataLocalDataArrayOutput

type ResponsePolicyRuleLocalDataLocalDataArrayInput

type ResponsePolicyRuleLocalDataLocalDataArrayInput interface {
	pulumi.Input

	ToResponsePolicyRuleLocalDataLocalDataArrayOutput() ResponsePolicyRuleLocalDataLocalDataArrayOutput
	ToResponsePolicyRuleLocalDataLocalDataArrayOutputWithContext(context.Context) ResponsePolicyRuleLocalDataLocalDataArrayOutput
}

ResponsePolicyRuleLocalDataLocalDataArrayInput is an input type that accepts ResponsePolicyRuleLocalDataLocalDataArray and ResponsePolicyRuleLocalDataLocalDataArrayOutput values. You can construct a concrete instance of `ResponsePolicyRuleLocalDataLocalDataArrayInput` via:

ResponsePolicyRuleLocalDataLocalDataArray{ ResponsePolicyRuleLocalDataLocalDataArgs{...} }

type ResponsePolicyRuleLocalDataLocalDataArrayOutput

type ResponsePolicyRuleLocalDataLocalDataArrayOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleLocalDataLocalDataArrayOutput) ElementType

func (ResponsePolicyRuleLocalDataLocalDataArrayOutput) Index

func (ResponsePolicyRuleLocalDataLocalDataArrayOutput) ToResponsePolicyRuleLocalDataLocalDataArrayOutput

func (o ResponsePolicyRuleLocalDataLocalDataArrayOutput) ToResponsePolicyRuleLocalDataLocalDataArrayOutput() ResponsePolicyRuleLocalDataLocalDataArrayOutput

func (ResponsePolicyRuleLocalDataLocalDataArrayOutput) ToResponsePolicyRuleLocalDataLocalDataArrayOutputWithContext

func (o ResponsePolicyRuleLocalDataLocalDataArrayOutput) ToResponsePolicyRuleLocalDataLocalDataArrayOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataLocalDataArrayOutput

type ResponsePolicyRuleLocalDataLocalDataInput

type ResponsePolicyRuleLocalDataLocalDataInput interface {
	pulumi.Input

	ToResponsePolicyRuleLocalDataLocalDataOutput() ResponsePolicyRuleLocalDataLocalDataOutput
	ToResponsePolicyRuleLocalDataLocalDataOutputWithContext(context.Context) ResponsePolicyRuleLocalDataLocalDataOutput
}

ResponsePolicyRuleLocalDataLocalDataInput is an input type that accepts ResponsePolicyRuleLocalDataLocalDataArgs and ResponsePolicyRuleLocalDataLocalDataOutput values. You can construct a concrete instance of `ResponsePolicyRuleLocalDataLocalDataInput` via:

ResponsePolicyRuleLocalDataLocalDataArgs{...}

type ResponsePolicyRuleLocalDataLocalDataOutput

type ResponsePolicyRuleLocalDataLocalDataOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleLocalDataLocalDataOutput) ElementType

func (ResponsePolicyRuleLocalDataLocalDataOutput) Name

For example, www.example.com.

func (ResponsePolicyRuleLocalDataLocalDataOutput) Rrdatas

As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1)

func (ResponsePolicyRuleLocalDataLocalDataOutput) ToResponsePolicyRuleLocalDataLocalDataOutput

func (o ResponsePolicyRuleLocalDataLocalDataOutput) ToResponsePolicyRuleLocalDataLocalDataOutput() ResponsePolicyRuleLocalDataLocalDataOutput

func (ResponsePolicyRuleLocalDataLocalDataOutput) ToResponsePolicyRuleLocalDataLocalDataOutputWithContext

func (o ResponsePolicyRuleLocalDataLocalDataOutput) ToResponsePolicyRuleLocalDataLocalDataOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataLocalDataOutput

func (ResponsePolicyRuleLocalDataLocalDataOutput) Ttl

Number of seconds that this ResourceRecordSet can be cached by resolvers.

func (ResponsePolicyRuleLocalDataLocalDataOutput) Type

One of valid DNS resource types. Possible values are: `A`, `AAAA`, `CAA`, `CNAME`, `DNSKEY`, `DS`, `HTTPS`, `IPSECVPNKEY`, `MX`, `NAPTR`, `NS`, `PTR`, `SOA`, `SPF`, `SRV`, `SSHFP`, `SVCB`, `TLSA`, `TXT`.

type ResponsePolicyRuleLocalDataOutput

type ResponsePolicyRuleLocalDataOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleLocalDataOutput) ElementType

func (ResponsePolicyRuleLocalDataOutput) LocalDatas

All resource record sets for this selector, one per resource record type. The name must match the dns_name. Structure is documented below.

func (ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataOutput

func (o ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataOutput() ResponsePolicyRuleLocalDataOutput

func (ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataOutputWithContext

func (o ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataOutput

func (ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataPtrOutput

func (o ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataPtrOutput() ResponsePolicyRuleLocalDataPtrOutput

func (ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataPtrOutputWithContext

func (o ResponsePolicyRuleLocalDataOutput) ToResponsePolicyRuleLocalDataPtrOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataPtrOutput

type ResponsePolicyRuleLocalDataPtrInput

type ResponsePolicyRuleLocalDataPtrInput interface {
	pulumi.Input

	ToResponsePolicyRuleLocalDataPtrOutput() ResponsePolicyRuleLocalDataPtrOutput
	ToResponsePolicyRuleLocalDataPtrOutputWithContext(context.Context) ResponsePolicyRuleLocalDataPtrOutput
}

ResponsePolicyRuleLocalDataPtrInput is an input type that accepts ResponsePolicyRuleLocalDataArgs, ResponsePolicyRuleLocalDataPtr and ResponsePolicyRuleLocalDataPtrOutput values. You can construct a concrete instance of `ResponsePolicyRuleLocalDataPtrInput` via:

        ResponsePolicyRuleLocalDataArgs{...}

or:

        nil

type ResponsePolicyRuleLocalDataPtrOutput

type ResponsePolicyRuleLocalDataPtrOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleLocalDataPtrOutput) Elem

func (ResponsePolicyRuleLocalDataPtrOutput) ElementType

func (ResponsePolicyRuleLocalDataPtrOutput) LocalDatas

All resource record sets for this selector, one per resource record type. The name must match the dns_name. Structure is documented below.

func (ResponsePolicyRuleLocalDataPtrOutput) ToResponsePolicyRuleLocalDataPtrOutput

func (o ResponsePolicyRuleLocalDataPtrOutput) ToResponsePolicyRuleLocalDataPtrOutput() ResponsePolicyRuleLocalDataPtrOutput

func (ResponsePolicyRuleLocalDataPtrOutput) ToResponsePolicyRuleLocalDataPtrOutputWithContext

func (o ResponsePolicyRuleLocalDataPtrOutput) ToResponsePolicyRuleLocalDataPtrOutputWithContext(ctx context.Context) ResponsePolicyRuleLocalDataPtrOutput

type ResponsePolicyRuleMap

type ResponsePolicyRuleMap map[string]ResponsePolicyRuleInput

func (ResponsePolicyRuleMap) ElementType

func (ResponsePolicyRuleMap) ElementType() reflect.Type

func (ResponsePolicyRuleMap) ToResponsePolicyRuleMapOutput

func (i ResponsePolicyRuleMap) ToResponsePolicyRuleMapOutput() ResponsePolicyRuleMapOutput

func (ResponsePolicyRuleMap) ToResponsePolicyRuleMapOutputWithContext

func (i ResponsePolicyRuleMap) ToResponsePolicyRuleMapOutputWithContext(ctx context.Context) ResponsePolicyRuleMapOutput

type ResponsePolicyRuleMapInput

type ResponsePolicyRuleMapInput interface {
	pulumi.Input

	ToResponsePolicyRuleMapOutput() ResponsePolicyRuleMapOutput
	ToResponsePolicyRuleMapOutputWithContext(context.Context) ResponsePolicyRuleMapOutput
}

ResponsePolicyRuleMapInput is an input type that accepts ResponsePolicyRuleMap and ResponsePolicyRuleMapOutput values. You can construct a concrete instance of `ResponsePolicyRuleMapInput` via:

ResponsePolicyRuleMap{ "key": ResponsePolicyRuleArgs{...} }

type ResponsePolicyRuleMapOutput

type ResponsePolicyRuleMapOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleMapOutput) ElementType

func (ResponsePolicyRuleMapOutput) MapIndex

func (ResponsePolicyRuleMapOutput) ToResponsePolicyRuleMapOutput

func (o ResponsePolicyRuleMapOutput) ToResponsePolicyRuleMapOutput() ResponsePolicyRuleMapOutput

func (ResponsePolicyRuleMapOutput) ToResponsePolicyRuleMapOutputWithContext

func (o ResponsePolicyRuleMapOutput) ToResponsePolicyRuleMapOutputWithContext(ctx context.Context) ResponsePolicyRuleMapOutput

type ResponsePolicyRuleOutput

type ResponsePolicyRuleOutput struct{ *pulumi.OutputState }

func (ResponsePolicyRuleOutput) Behavior

Answer this query with a behavior rather than DNS data. Acceptable values are 'behaviorUnspecified', and 'bypassResponsePolicy'

func (ResponsePolicyRuleOutput) DnsName

The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.

func (ResponsePolicyRuleOutput) ElementType

func (ResponsePolicyRuleOutput) ElementType() reflect.Type

func (ResponsePolicyRuleOutput) LocalData

Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name; in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed. Structure is documented below.

func (ResponsePolicyRuleOutput) Project

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

func (ResponsePolicyRuleOutput) ResponsePolicy

func (o ResponsePolicyRuleOutput) ResponsePolicy() pulumi.StringOutput

Identifies the response policy addressed by this request.

***

func (ResponsePolicyRuleOutput) RuleName

An identifier for this rule. Must be unique with the ResponsePolicy.

func (ResponsePolicyRuleOutput) ToResponsePolicyRuleOutput

func (o ResponsePolicyRuleOutput) ToResponsePolicyRuleOutput() ResponsePolicyRuleOutput

func (ResponsePolicyRuleOutput) ToResponsePolicyRuleOutputWithContext

func (o ResponsePolicyRuleOutput) ToResponsePolicyRuleOutputWithContext(ctx context.Context) ResponsePolicyRuleOutput

type ResponsePolicyRuleState

type ResponsePolicyRuleState struct {
	// Answer this query with a behavior rather than DNS data. Acceptable values are 'behaviorUnspecified', and 'bypassResponsePolicy'
	Behavior pulumi.StringPtrInput
	// The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.
	DnsName pulumi.StringPtrInput
	// Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name;
	// in particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.
	// Structure is documented below.
	LocalData ResponsePolicyRuleLocalDataPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Identifies the response policy addressed by this request.
	//
	// ***
	ResponsePolicy pulumi.StringPtrInput
	// An identifier for this rule. Must be unique with the ResponsePolicy.
	RuleName pulumi.StringPtrInput
}

func (ResponsePolicyRuleState) ElementType

func (ResponsePolicyRuleState) ElementType() reflect.Type

type ResponsePolicyState

type ResponsePolicyState struct {
	// The description of the response policy, such as `My new response policy`.
	Description pulumi.StringPtrInput
	// The list of Google Kubernetes Engine clusters that can see this zone.
	// Structure is documented below.
	GkeClusters ResponsePolicyGkeClusterArrayInput
	// The list of network names specifying networks to which this policy is applied.
	// Structure is documented below.
	Networks ResponsePolicyNetworkArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The user assigned name for this Response Policy, such as `myresponsepolicy`.
	//
	// ***
	ResponsePolicyName pulumi.StringPtrInput
}

func (ResponsePolicyState) ElementType

func (ResponsePolicyState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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