Documentation ¶
Index ¶
- type Domain
- type DomainArgs
- type DomainArray
- type DomainArrayInput
- type DomainArrayOutput
- type DomainInput
- type DomainMap
- type DomainMapInput
- type DomainMapOutput
- type DomainOutput
- type DomainState
- type DomainTrust
- type DomainTrustArgs
- type DomainTrustArray
- type DomainTrustArrayInput
- type DomainTrustArrayOutput
- func (DomainTrustArrayOutput) ElementType() reflect.Type
- func (o DomainTrustArrayOutput) Index(i pulumi.IntInput) DomainTrustOutput
- func (o DomainTrustArrayOutput) ToDomainTrustArrayOutput() DomainTrustArrayOutput
- func (o DomainTrustArrayOutput) ToDomainTrustArrayOutputWithContext(ctx context.Context) DomainTrustArrayOutput
- type DomainTrustInput
- type DomainTrustMap
- type DomainTrustMapInput
- type DomainTrustMapOutput
- func (DomainTrustMapOutput) ElementType() reflect.Type
- func (o DomainTrustMapOutput) MapIndex(k pulumi.StringInput) DomainTrustOutput
- func (o DomainTrustMapOutput) ToDomainTrustMapOutput() DomainTrustMapOutput
- func (o DomainTrustMapOutput) ToDomainTrustMapOutputWithContext(ctx context.Context) DomainTrustMapOutput
- type DomainTrustOutput
- type DomainTrustState
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"` // 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 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 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
- [Managed Microsoft Active Directory Quickstart](https://cloud.google.com/managed-microsoft-ad/docs/quickstarts)
## Example Usage ### Active Directory Domain Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/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 ¶
```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) 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 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 (o DomainArrayOutput) Index(i pulumi.IntInput) DomainOutput
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) 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 (o DomainMapOutput) MapIndex(k pulumi.StringInput) DomainOutput
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) ElementType ¶
func (DomainOutput) ElementType() reflect.Type
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 // 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 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 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`, and `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` and `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
- [Active Directory Trust](https://cloud.google.com/managed-microsoft-ad/docs/create-one-way-trust)
> **Warning:** All arguments including `trustHandshakeSecret` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).
## Example Usage ### Active Directory Domain Trust Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/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"), TargetDnsIpAddresses: pulumi.StringArray{ pulumi.String("10.1.0.100"), }, TargetDomainName: pulumi.String("example-gcp.com"), TrustDirection: pulumi.String("OUTBOUND"), TrustHandshakeSecret: pulumi.String("Testing1!"), TrustType: pulumi.String("FOREST"), }) if err != nil { return err } return nil }) }
```
## Import
DomainTrust can be imported using any of these accepted formats ¶
```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`, and `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` and `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 (o DomainTrustArrayOutput) Index(i pulumi.IntInput) DomainTrustOutput
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 (o DomainTrustMapOutput) MapIndex(k pulumi.StringInput) DomainTrustOutput
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) ElementType ¶
func (DomainTrustOutput) ElementType() reflect.Type
func (DomainTrustOutput) ToDomainTrustOutput ¶
func (o DomainTrustOutput) ToDomainTrustOutput() DomainTrustOutput
func (DomainTrustOutput) ToDomainTrustOutputWithContext ¶
func (o DomainTrustOutput) ToDomainTrustOutputWithContext(ctx context.Context) DomainTrustOutput
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`, and `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` and `EXTERNAL`. TrustType pulumi.StringPtrInput }
func (DomainTrustState) ElementType ¶
func (DomainTrustState) ElementType() reflect.Type