activedirectory

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 Domain

type Domain struct {
	pulumi.CustomResourceState

	// The name of delegated administrator account used to perform Active Directory operations.
	// If not specified, setupadmin will be used.
	Admin pulumi.StringPtrOutput `pulumi:"admin"`
	// The full names of the Google Compute Engine networks the domain instance is connected to. The domain is only available on networks listed in authorizedNetworks.
	// If CIDR subnets overlap between networks, domain creation will fail.
	AuthorizedNetworks pulumi.StringArrayOutput `pulumi:"authorizedNetworks"`
	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// 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"`
	// The fully-qualified domain name of the exposed domain used by clients to connect to the service.
	// Similar to what would be chosen for an Active Directory set up on an internal network.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/]
	// e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block.
	Locations pulumi.StringArrayOutput `pulumi:"locations"`
	// The unique name of the domain using the format: `projects/{project}/locations/global/domains/{domainName}`.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger.
	// Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks
	ReservedIpRange pulumi.StringOutput `pulumi:"reservedIpRange"`
}

Creates a Microsoft AD domain

To get more information about Domain, see:

* [API documentation](https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains) * How-to Guides

## Example Usage

### Active Directory Domain Basic

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := activedirectory.NewDomain(ctx, "ad-domain", &activedirectory.DomainArgs{
			DomainName: pulumi.String("tfgen.org.com"),
			Locations: pulumi.StringArray{
				pulumi.String("us-central1"),
			},
			ReservedIpRange: pulumi.String("192.168.255.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Domain can be imported using any of these accepted formats:

* `{{name}}`

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

```sh $ pulumi import gcp:activedirectory/domain:Domain default {{name}} ```

func GetDomain

func GetDomain(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainState, opts ...pulumi.ResourceOption) (*Domain, error)

GetDomain gets an existing Domain 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 NewDomain

func NewDomain(ctx *pulumi.Context,
	name string, args *DomainArgs, opts ...pulumi.ResourceOption) (*Domain, error)

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

func (*Domain) ElementType

func (*Domain) ElementType() reflect.Type

func (*Domain) ToDomainOutput

func (i *Domain) ToDomainOutput() DomainOutput

func (*Domain) ToDomainOutputWithContext

func (i *Domain) ToDomainOutputWithContext(ctx context.Context) DomainOutput

type DomainArgs

type DomainArgs struct {
	// The name of delegated administrator account used to perform Active Directory operations.
	// If not specified, setupadmin will be used.
	Admin pulumi.StringPtrInput
	// The full names of the Google Compute Engine networks the domain instance is connected to. The domain is only available on networks listed in authorizedNetworks.
	// If CIDR subnets overlap between networks, domain creation will fail.
	AuthorizedNetworks pulumi.StringArrayInput
	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	DomainName pulumi.StringInput
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/]
	// e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block.
	Locations pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger.
	// Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks
	ReservedIpRange pulumi.StringInput
}

The set of arguments for constructing a Domain resource.

func (DomainArgs) ElementType

func (DomainArgs) ElementType() reflect.Type

type DomainArray

type DomainArray []DomainInput

func (DomainArray) ElementType

func (DomainArray) ElementType() reflect.Type

func (DomainArray) ToDomainArrayOutput

func (i DomainArray) ToDomainArrayOutput() DomainArrayOutput

func (DomainArray) ToDomainArrayOutputWithContext

func (i DomainArray) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainArrayInput

type DomainArrayInput interface {
	pulumi.Input

	ToDomainArrayOutput() DomainArrayOutput
	ToDomainArrayOutputWithContext(context.Context) DomainArrayOutput
}

DomainArrayInput is an input type that accepts DomainArray and DomainArrayOutput values. You can construct a concrete instance of `DomainArrayInput` via:

DomainArray{ DomainArgs{...} }

type DomainArrayOutput

type DomainArrayOutput struct{ *pulumi.OutputState }

func (DomainArrayOutput) ElementType

func (DomainArrayOutput) ElementType() reflect.Type

func (DomainArrayOutput) Index

func (DomainArrayOutput) ToDomainArrayOutput

func (o DomainArrayOutput) ToDomainArrayOutput() DomainArrayOutput

func (DomainArrayOutput) ToDomainArrayOutputWithContext

func (o DomainArrayOutput) ToDomainArrayOutputWithContext(ctx context.Context) DomainArrayOutput

type DomainInput

type DomainInput interface {
	pulumi.Input

	ToDomainOutput() DomainOutput
	ToDomainOutputWithContext(ctx context.Context) DomainOutput
}

type DomainMap

type DomainMap map[string]DomainInput

func (DomainMap) ElementType

func (DomainMap) ElementType() reflect.Type

func (DomainMap) ToDomainMapOutput

func (i DomainMap) ToDomainMapOutput() DomainMapOutput

func (DomainMap) ToDomainMapOutputWithContext

func (i DomainMap) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainMapInput

type DomainMapInput interface {
	pulumi.Input

	ToDomainMapOutput() DomainMapOutput
	ToDomainMapOutputWithContext(context.Context) DomainMapOutput
}

DomainMapInput is an input type that accepts DomainMap and DomainMapOutput values. You can construct a concrete instance of `DomainMapInput` via:

DomainMap{ "key": DomainArgs{...} }

type DomainMapOutput

type DomainMapOutput struct{ *pulumi.OutputState }

func (DomainMapOutput) ElementType

func (DomainMapOutput) ElementType() reflect.Type

func (DomainMapOutput) MapIndex

func (DomainMapOutput) ToDomainMapOutput

func (o DomainMapOutput) ToDomainMapOutput() DomainMapOutput

func (DomainMapOutput) ToDomainMapOutputWithContext

func (o DomainMapOutput) ToDomainMapOutputWithContext(ctx context.Context) DomainMapOutput

type DomainOutput

type DomainOutput struct{ *pulumi.OutputState }

func (DomainOutput) Admin

The name of delegated administrator account used to perform Active Directory operations. If not specified, setupadmin will be used.

func (DomainOutput) AuthorizedNetworks

func (o DomainOutput) AuthorizedNetworks() pulumi.StringArrayOutput

The full names of the Google Compute Engine networks the domain instance is connected to. The domain is only available on networks listed in authorizedNetworks. If CIDR subnets overlap between networks, domain creation will fail.

func (DomainOutput) DomainName

func (o DomainOutput) DomainName() pulumi.StringOutput

The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions, https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.

***

func (DomainOutput) EffectiveLabels

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

func (DomainOutput) ElementType() reflect.Type

func (DomainOutput) Fqdn

func (o DomainOutput) Fqdn() pulumi.StringOutput

The fully-qualified domain name of the exposed domain used by clients to connect to the service. Similar to what would be chosen for an Active Directory set up on an internal network.

func (DomainOutput) Labels

func (o DomainOutput) Labels() pulumi.StringMapOutput

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

func (DomainOutput) Locations

func (o DomainOutput) Locations() pulumi.StringArrayOutput

Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/] e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block.

func (DomainOutput) Name

func (o DomainOutput) Name() pulumi.StringOutput

The unique name of the domain using the format: `projects/{project}/locations/global/domains/{domainName}`.

func (DomainOutput) Project

func (o DomainOutput) Project() pulumi.StringOutput

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

func (DomainOutput) PulumiLabels

func (o DomainOutput) PulumiLabels() pulumi.StringMapOutput

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

func (DomainOutput) ReservedIpRange

func (o DomainOutput) ReservedIpRange() pulumi.StringOutput

The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger. Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks

func (DomainOutput) ToDomainOutput

func (o DomainOutput) ToDomainOutput() DomainOutput

func (DomainOutput) ToDomainOutputWithContext

func (o DomainOutput) ToDomainOutputWithContext(ctx context.Context) DomainOutput

type DomainState

type DomainState struct {
	// The name of delegated administrator account used to perform Active Directory operations.
	// If not specified, setupadmin will be used.
	Admin pulumi.StringPtrInput
	// The full names of the Google Compute Engine networks the domain instance is connected to. The domain is only available on networks listed in authorizedNetworks.
	// If CIDR subnets overlap between networks, domain creation will fail.
	AuthorizedNetworks pulumi.StringArrayInput
	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	DomainName pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// The fully-qualified domain name of the exposed domain used by clients to connect to the service.
	// Similar to what would be chosen for an Active Directory set up on an internal network.
	Fqdn pulumi.StringPtrInput
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Locations where domain needs to be provisioned. [regions][compute/docs/regions-zones/]
	// e.g. us-west1 or us-east4 Service supports up to 4 locations at once. Each location will use a /26 block.
	Locations pulumi.StringArrayInput
	// The unique name of the domain using the format: `projects/{project}/locations/global/domains/{domainName}`.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The CIDR range of internal addresses that are reserved for this domain. Reserved networks must be /24 or larger.
	// Ranges must be unique and non-overlapping with existing subnets in authorizedNetworks
	ReservedIpRange pulumi.StringPtrInput
}

func (DomainState) ElementType

func (DomainState) ElementType() reflect.Type

type DomainTrust

type DomainTrust struct {
	pulumi.CustomResourceState

	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	Domain pulumi.StringOutput `pulumi:"domain"`
	// 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"`
	// Whether the trusted side has forest/domain wide access or selective access to an approved set of resources.
	SelectiveAuthentication pulumi.BoolPtrOutput `pulumi:"selectiveAuthentication"`
	// The target DNS server IP addresses which can resolve the remote domain involved in the trust.
	TargetDnsIpAddresses pulumi.StringArrayOutput `pulumi:"targetDnsIpAddresses"`
	// The fully qualified target domain name which will be in trust with the current domain.
	TargetDomainName pulumi.StringOutput `pulumi:"targetDomainName"`
	// The trust direction, which decides if the current domain is trusted, trusting, or both.
	// Possible values are: `INBOUND`, `OUTBOUND`, `BIDIRECTIONAL`.
	TrustDirection pulumi.StringOutput `pulumi:"trustDirection"`
	// The trust secret used for the handshake with the target domain. This will not be stored.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	TrustHandshakeSecret pulumi.StringOutput `pulumi:"trustHandshakeSecret"`
	// The type of trust represented by the trust resource.
	// Possible values are: `FOREST`, `EXTERNAL`.
	TrustType pulumi.StringOutput `pulumi:"trustType"`
}

Adds a trust between Active Directory domains

To get more information about DomainTrust, see:

* [API documentation](https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains/attachTrust) * How-to Guides

## Example Usage

### Active Directory Domain Trust Basic

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := activedirectory.NewDomainTrust(ctx, "ad-domain-trust", &activedirectory.DomainTrustArgs{
			Domain:           pulumi.String("test-managed-ad.com"),
			TargetDomainName: pulumi.String("example-gcp.com"),
			TargetDnsIpAddresses: pulumi.StringArray{
				pulumi.String("10.1.0.100"),
			},
			TrustDirection:       pulumi.String("OUTBOUND"),
			TrustType:            pulumi.String("FOREST"),
			TrustHandshakeSecret: pulumi.String("Testing1!"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DomainTrust can be imported using any of these accepted formats:

* `projects/{{project}}/locations/global/domains/{{domain}}/{{target_domain_name}}`

* `{{project}}/{{domain}}/{{target_domain_name}}`

* `{{domain}}/{{target_domain_name}}`

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

```sh $ pulumi import gcp:activedirectory/domainTrust:DomainTrust default projects/{{project}}/locations/global/domains/{{domain}}/{{target_domain_name}} ```

```sh $ pulumi import gcp:activedirectory/domainTrust:DomainTrust default {{project}}/{{domain}}/{{target_domain_name}} ```

```sh $ pulumi import gcp:activedirectory/domainTrust:DomainTrust default {{domain}}/{{target_domain_name}} ```

func GetDomainTrust

func GetDomainTrust(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainTrustState, opts ...pulumi.ResourceOption) (*DomainTrust, error)

GetDomainTrust gets an existing DomainTrust 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 NewDomainTrust

func NewDomainTrust(ctx *pulumi.Context,
	name string, args *DomainTrustArgs, opts ...pulumi.ResourceOption) (*DomainTrust, error)

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

func (*DomainTrust) ElementType

func (*DomainTrust) ElementType() reflect.Type

func (*DomainTrust) ToDomainTrustOutput

func (i *DomainTrust) ToDomainTrustOutput() DomainTrustOutput

func (*DomainTrust) ToDomainTrustOutputWithContext

func (i *DomainTrust) ToDomainTrustOutputWithContext(ctx context.Context) DomainTrustOutput

type DomainTrustArgs

type DomainTrustArgs struct {
	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	Domain 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
	// Whether the trusted side has forest/domain wide access or selective access to an approved set of resources.
	SelectiveAuthentication pulumi.BoolPtrInput
	// The target DNS server IP addresses which can resolve the remote domain involved in the trust.
	TargetDnsIpAddresses pulumi.StringArrayInput
	// The fully qualified target domain name which will be in trust with the current domain.
	TargetDomainName pulumi.StringInput
	// The trust direction, which decides if the current domain is trusted, trusting, or both.
	// Possible values are: `INBOUND`, `OUTBOUND`, `BIDIRECTIONAL`.
	TrustDirection pulumi.StringInput
	// The trust secret used for the handshake with the target domain. This will not be stored.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	TrustHandshakeSecret pulumi.StringInput
	// The type of trust represented by the trust resource.
	// Possible values are: `FOREST`, `EXTERNAL`.
	TrustType pulumi.StringInput
}

The set of arguments for constructing a DomainTrust resource.

func (DomainTrustArgs) ElementType

func (DomainTrustArgs) ElementType() reflect.Type

type DomainTrustArray

type DomainTrustArray []DomainTrustInput

func (DomainTrustArray) ElementType

func (DomainTrustArray) ElementType() reflect.Type

func (DomainTrustArray) ToDomainTrustArrayOutput

func (i DomainTrustArray) ToDomainTrustArrayOutput() DomainTrustArrayOutput

func (DomainTrustArray) ToDomainTrustArrayOutputWithContext

func (i DomainTrustArray) ToDomainTrustArrayOutputWithContext(ctx context.Context) DomainTrustArrayOutput

type DomainTrustArrayInput

type DomainTrustArrayInput interface {
	pulumi.Input

	ToDomainTrustArrayOutput() DomainTrustArrayOutput
	ToDomainTrustArrayOutputWithContext(context.Context) DomainTrustArrayOutput
}

DomainTrustArrayInput is an input type that accepts DomainTrustArray and DomainTrustArrayOutput values. You can construct a concrete instance of `DomainTrustArrayInput` via:

DomainTrustArray{ DomainTrustArgs{...} }

type DomainTrustArrayOutput

type DomainTrustArrayOutput struct{ *pulumi.OutputState }

func (DomainTrustArrayOutput) ElementType

func (DomainTrustArrayOutput) ElementType() reflect.Type

func (DomainTrustArrayOutput) Index

func (DomainTrustArrayOutput) ToDomainTrustArrayOutput

func (o DomainTrustArrayOutput) ToDomainTrustArrayOutput() DomainTrustArrayOutput

func (DomainTrustArrayOutput) ToDomainTrustArrayOutputWithContext

func (o DomainTrustArrayOutput) ToDomainTrustArrayOutputWithContext(ctx context.Context) DomainTrustArrayOutput

type DomainTrustInput

type DomainTrustInput interface {
	pulumi.Input

	ToDomainTrustOutput() DomainTrustOutput
	ToDomainTrustOutputWithContext(ctx context.Context) DomainTrustOutput
}

type DomainTrustMap

type DomainTrustMap map[string]DomainTrustInput

func (DomainTrustMap) ElementType

func (DomainTrustMap) ElementType() reflect.Type

func (DomainTrustMap) ToDomainTrustMapOutput

func (i DomainTrustMap) ToDomainTrustMapOutput() DomainTrustMapOutput

func (DomainTrustMap) ToDomainTrustMapOutputWithContext

func (i DomainTrustMap) ToDomainTrustMapOutputWithContext(ctx context.Context) DomainTrustMapOutput

type DomainTrustMapInput

type DomainTrustMapInput interface {
	pulumi.Input

	ToDomainTrustMapOutput() DomainTrustMapOutput
	ToDomainTrustMapOutputWithContext(context.Context) DomainTrustMapOutput
}

DomainTrustMapInput is an input type that accepts DomainTrustMap and DomainTrustMapOutput values. You can construct a concrete instance of `DomainTrustMapInput` via:

DomainTrustMap{ "key": DomainTrustArgs{...} }

type DomainTrustMapOutput

type DomainTrustMapOutput struct{ *pulumi.OutputState }

func (DomainTrustMapOutput) ElementType

func (DomainTrustMapOutput) ElementType() reflect.Type

func (DomainTrustMapOutput) MapIndex

func (DomainTrustMapOutput) ToDomainTrustMapOutput

func (o DomainTrustMapOutput) ToDomainTrustMapOutput() DomainTrustMapOutput

func (DomainTrustMapOutput) ToDomainTrustMapOutputWithContext

func (o DomainTrustMapOutput) ToDomainTrustMapOutputWithContext(ctx context.Context) DomainTrustMapOutput

type DomainTrustOutput

type DomainTrustOutput struct{ *pulumi.OutputState }

func (DomainTrustOutput) Domain

The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions, https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.

***

func (DomainTrustOutput) ElementType

func (DomainTrustOutput) ElementType() reflect.Type

func (DomainTrustOutput) Project

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

func (DomainTrustOutput) SelectiveAuthentication

func (o DomainTrustOutput) SelectiveAuthentication() pulumi.BoolPtrOutput

Whether the trusted side has forest/domain wide access or selective access to an approved set of resources.

func (DomainTrustOutput) TargetDnsIpAddresses

func (o DomainTrustOutput) TargetDnsIpAddresses() pulumi.StringArrayOutput

The target DNS server IP addresses which can resolve the remote domain involved in the trust.

func (DomainTrustOutput) TargetDomainName

func (o DomainTrustOutput) TargetDomainName() pulumi.StringOutput

The fully qualified target domain name which will be in trust with the current domain.

func (DomainTrustOutput) ToDomainTrustOutput

func (o DomainTrustOutput) ToDomainTrustOutput() DomainTrustOutput

func (DomainTrustOutput) ToDomainTrustOutputWithContext

func (o DomainTrustOutput) ToDomainTrustOutputWithContext(ctx context.Context) DomainTrustOutput

func (DomainTrustOutput) TrustDirection

func (o DomainTrustOutput) TrustDirection() pulumi.StringOutput

The trust direction, which decides if the current domain is trusted, trusting, or both. Possible values are: `INBOUND`, `OUTBOUND`, `BIDIRECTIONAL`.

func (DomainTrustOutput) TrustHandshakeSecret

func (o DomainTrustOutput) TrustHandshakeSecret() pulumi.StringOutput

The trust secret used for the handshake with the target domain. This will not be stored. **Note**: This property is sensitive and will not be displayed in the plan.

func (DomainTrustOutput) TrustType

func (o DomainTrustOutput) TrustType() pulumi.StringOutput

The type of trust represented by the trust resource. Possible values are: `FOREST`, `EXTERNAL`.

type DomainTrustState

type DomainTrustState struct {
	// The fully qualified domain name. e.g. mydomain.myorganization.com, with the restrictions,
	// https://cloud.google.com/managed-microsoft-ad/reference/rest/v1/projects.locations.global.domains.
	//
	// ***
	Domain 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
	// Whether the trusted side has forest/domain wide access or selective access to an approved set of resources.
	SelectiveAuthentication pulumi.BoolPtrInput
	// The target DNS server IP addresses which can resolve the remote domain involved in the trust.
	TargetDnsIpAddresses pulumi.StringArrayInput
	// The fully qualified target domain name which will be in trust with the current domain.
	TargetDomainName pulumi.StringPtrInput
	// The trust direction, which decides if the current domain is trusted, trusting, or both.
	// Possible values are: `INBOUND`, `OUTBOUND`, `BIDIRECTIONAL`.
	TrustDirection pulumi.StringPtrInput
	// The trust secret used for the handshake with the target domain. This will not be stored.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	TrustHandshakeSecret pulumi.StringPtrInput
	// The type of trust represented by the trust resource.
	// Possible values are: `FOREST`, `EXTERNAL`.
	TrustType pulumi.StringPtrInput
}

func (DomainTrustState) ElementType

func (DomainTrustState) ElementType() reflect.Type

type Peering

type Peering struct {
	pulumi.CustomResourceState

	// The full names of the Google Compute Engine networks to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.
	AuthorizedNetwork pulumi.StringOutput `pulumi:"authorizedNetwork"`
	// Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form projects/{projectId}/locations/global/domains/{domainName}
	DomainResource pulumi.StringOutput `pulumi:"domainResource"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Unique name of the peering in this scope including projects and location using the form: projects/{projectId}/locations/global/peerings/{peeringId}.
	Name pulumi.StringOutput `pulumi:"name"`
	// ***
	PeeringId pulumi.StringOutput `pulumi:"peeringId"`
	// 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"`
	// The current state of this Peering.
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// Additional information about the current status of this peering, if available.
	StatusMessage pulumi.StringPtrOutput `pulumi:"statusMessage"`
}

## Example Usage

### Active Directory Peering Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/activedirectory"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/projects"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "source-network", &compute.NetworkArgs{
			Name: pulumi.String("ad-network"),
		})
		if err != nil {
			return err
		}
		_, err = activedirectory.NewDomain(ctx, "ad-domain", &activedirectory.DomainArgs{
			DomainName: pulumi.String("ad.test.hashicorptest.com"),
			Locations: pulumi.StringArray{
				pulumi.String("us-central1"),
			},
			ReservedIpRange: pulumi.String("192.168.255.0/24"),
			AuthorizedNetworks: pulumi.StringArray{
				source_network.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = organizations.NewProject(ctx, "peered-project", &organizations.ProjectArgs{
			Name:           pulumi.String("my-peered-project"),
			ProjectId:      pulumi.String("my-peered-project"),
			OrgId:          pulumi.String("123456789"),
			BillingAccount: pulumi.String("000000-0000000-0000000-000000"),
		})
		if err != nil {
			return err
		}
		compute, err := projects.NewService(ctx, "compute", &projects.ServiceArgs{
			Project: peered_project.ProjectId,
			Service: pulumi.String("compute.googleapis.com"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewNetwork(ctx, "peered-network", &compute.NetworkArgs{
			Project: compute.Project,
			Name:    pulumi.String("ad-peered-network"),
		})
		if err != nil {
			return err
		}
		_, err = activedirectory.NewPeering(ctx, "ad-domain-peering", &activedirectory.PeeringArgs{
			DomainResource:    ad_domain.Name,
			PeeringId:         pulumi.String("ad-domain-peering"),
			AuthorizedNetwork: peered_network.ID(),
			Labels: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetPeering

func GetPeering(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PeeringState, opts ...pulumi.ResourceOption) (*Peering, error)

GetPeering gets an existing Peering 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 NewPeering

func NewPeering(ctx *pulumi.Context,
	name string, args *PeeringArgs, opts ...pulumi.ResourceOption) (*Peering, error)

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

func (*Peering) ElementType

func (*Peering) ElementType() reflect.Type

func (*Peering) ToPeeringOutput

func (i *Peering) ToPeeringOutput() PeeringOutput

func (*Peering) ToPeeringOutputWithContext

func (i *Peering) ToPeeringOutputWithContext(ctx context.Context) PeeringOutput

type PeeringArgs

type PeeringArgs struct {
	// The full names of the Google Compute Engine networks to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.
	AuthorizedNetwork pulumi.StringInput
	// Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form projects/{projectId}/locations/global/domains/{domainName}
	DomainResource pulumi.StringInput
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// ***
	PeeringId 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 current state of this Peering.
	Status pulumi.StringPtrInput
	// Additional information about the current status of this peering, if available.
	StatusMessage pulumi.StringPtrInput
}

The set of arguments for constructing a Peering resource.

func (PeeringArgs) ElementType

func (PeeringArgs) ElementType() reflect.Type

type PeeringArray

type PeeringArray []PeeringInput

func (PeeringArray) ElementType

func (PeeringArray) ElementType() reflect.Type

func (PeeringArray) ToPeeringArrayOutput

func (i PeeringArray) ToPeeringArrayOutput() PeeringArrayOutput

func (PeeringArray) ToPeeringArrayOutputWithContext

func (i PeeringArray) ToPeeringArrayOutputWithContext(ctx context.Context) PeeringArrayOutput

type PeeringArrayInput

type PeeringArrayInput interface {
	pulumi.Input

	ToPeeringArrayOutput() PeeringArrayOutput
	ToPeeringArrayOutputWithContext(context.Context) PeeringArrayOutput
}

PeeringArrayInput is an input type that accepts PeeringArray and PeeringArrayOutput values. You can construct a concrete instance of `PeeringArrayInput` via:

PeeringArray{ PeeringArgs{...} }

type PeeringArrayOutput

type PeeringArrayOutput struct{ *pulumi.OutputState }

func (PeeringArrayOutput) ElementType

func (PeeringArrayOutput) ElementType() reflect.Type

func (PeeringArrayOutput) Index

func (PeeringArrayOutput) ToPeeringArrayOutput

func (o PeeringArrayOutput) ToPeeringArrayOutput() PeeringArrayOutput

func (PeeringArrayOutput) ToPeeringArrayOutputWithContext

func (o PeeringArrayOutput) ToPeeringArrayOutputWithContext(ctx context.Context) PeeringArrayOutput

type PeeringInput

type PeeringInput interface {
	pulumi.Input

	ToPeeringOutput() PeeringOutput
	ToPeeringOutputWithContext(ctx context.Context) PeeringOutput
}

type PeeringMap

type PeeringMap map[string]PeeringInput

func (PeeringMap) ElementType

func (PeeringMap) ElementType() reflect.Type

func (PeeringMap) ToPeeringMapOutput

func (i PeeringMap) ToPeeringMapOutput() PeeringMapOutput

func (PeeringMap) ToPeeringMapOutputWithContext

func (i PeeringMap) ToPeeringMapOutputWithContext(ctx context.Context) PeeringMapOutput

type PeeringMapInput

type PeeringMapInput interface {
	pulumi.Input

	ToPeeringMapOutput() PeeringMapOutput
	ToPeeringMapOutputWithContext(context.Context) PeeringMapOutput
}

PeeringMapInput is an input type that accepts PeeringMap and PeeringMapOutput values. You can construct a concrete instance of `PeeringMapInput` via:

PeeringMap{ "key": PeeringArgs{...} }

type PeeringMapOutput

type PeeringMapOutput struct{ *pulumi.OutputState }

func (PeeringMapOutput) ElementType

func (PeeringMapOutput) ElementType() reflect.Type

func (PeeringMapOutput) MapIndex

func (PeeringMapOutput) ToPeeringMapOutput

func (o PeeringMapOutput) ToPeeringMapOutput() PeeringMapOutput

func (PeeringMapOutput) ToPeeringMapOutputWithContext

func (o PeeringMapOutput) ToPeeringMapOutputWithContext(ctx context.Context) PeeringMapOutput

type PeeringOutput

type PeeringOutput struct{ *pulumi.OutputState }

func (PeeringOutput) AuthorizedNetwork

func (o PeeringOutput) AuthorizedNetwork() pulumi.StringOutput

The full names of the Google Compute Engine networks to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.

func (PeeringOutput) DomainResource

func (o PeeringOutput) DomainResource() pulumi.StringOutput

Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form projects/{projectId}/locations/global/domains/{domainName}

func (PeeringOutput) EffectiveLabels

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

func (PeeringOutput) ElementType() reflect.Type

func (PeeringOutput) Labels

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

func (PeeringOutput) Name

Unique name of the peering in this scope including projects and location using the form: projects/{projectId}/locations/global/peerings/{peeringId}.

func (PeeringOutput) PeeringId

func (o PeeringOutput) PeeringId() pulumi.StringOutput

***

func (PeeringOutput) Project

func (o PeeringOutput) Project() pulumi.StringOutput

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

func (PeeringOutput) PulumiLabels

func (o PeeringOutput) PulumiLabels() pulumi.StringMapOutput

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

func (PeeringOutput) Status

The current state of this Peering.

func (PeeringOutput) StatusMessage

func (o PeeringOutput) StatusMessage() pulumi.StringPtrOutput

Additional information about the current status of this peering, if available.

func (PeeringOutput) ToPeeringOutput

func (o PeeringOutput) ToPeeringOutput() PeeringOutput

func (PeeringOutput) ToPeeringOutputWithContext

func (o PeeringOutput) ToPeeringOutputWithContext(ctx context.Context) PeeringOutput

type PeeringState

type PeeringState struct {
	// The full names of the Google Compute Engine networks to which the instance is connected. Caller needs to make sure that CIDR subnets do not overlap between networks, else peering creation will fail.
	AuthorizedNetwork pulumi.StringPtrInput
	// Full domain resource path for the Managed AD Domain involved in peering. The resource path should be in the form projects/{projectId}/locations/global/domains/{domainName}
	DomainResource pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Resource labels that can contain user-provided metadata
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// Unique name of the peering in this scope including projects and location using the form: projects/{projectId}/locations/global/peerings/{peeringId}.
	Name pulumi.StringPtrInput
	// ***
	PeeringId pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The current state of this Peering.
	Status pulumi.StringPtrInput
	// Additional information about the current status of this peering, if available.
	StatusMessage pulumi.StringPtrInput
}

func (PeeringState) ElementType

func (PeeringState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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