Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Lien ¶
type Lien struct { pulumi.CustomResourceState // Time of creation CreateTime pulumi.StringOutput `pulumi:"createTime"` // A system-generated unique identifier for this Lien. Name pulumi.StringOutput `pulumi:"name"` // A stable, user-visible/meaningful string identifying the origin // of the Lien, intended to be inspected programmatically. Maximum length of // 200 characters. Origin pulumi.StringOutput `pulumi:"origin"` // A reference to the resource this Lien is attached to. // The server will validate the parent against those for which Liens are supported. // Since a variety of objects can have Liens against them, you must provide the type // prefix (e.g. "projects/my-project-name"). Parent pulumi.StringOutput `pulumi:"parent"` // Concise user-visible strings indicating why an action cannot be performed // on a resource. Maximum length of 200 characters. Reason pulumi.StringOutput `pulumi:"reason"` // The types of operations which should be blocked as a result of this Lien. // Each value should correspond to an IAM permission. The server will validate // the permissions against those for which Liens are supported. An empty // list is meaningless and will be rejected. // e.g. ['resourcemanager.projects.delete'] Restrictions pulumi.StringArrayOutput `pulumi:"restrictions"` }
A Lien represents an encumbrance on the actions that can be performed on a resource.
## Example Usage ### Resource Manager Lien
```go package main
import (
"fmt" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/resourcemanager" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{ ProjectId: pulumi.String("staging-project"), }) if err != nil { return err } _, err = resourcemanager.NewLien(ctx, "lien", &resourcemanager.LienArgs{ Origin: pulumi.String("machine-readable-explanation"), Parent: project.Number.ApplyT(func(number string) (string, error) { return fmt.Sprintf("%v%v", "projects/", number), nil }).(pulumi.StringOutput), Reason: pulumi.String("This project is an important environment"), Restrictions: pulumi.StringArray{ pulumi.String("resourcemanager.projects.delete"), }, }) if err != nil { return err } return nil }) }
```
## Import
Lien can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:resourcemanager/lien:Lien default {{parent}}/{{name}}
```
func GetLien ¶
func GetLien(ctx *pulumi.Context, name string, id pulumi.IDInput, state *LienState, opts ...pulumi.ResourceOption) (*Lien, error)
GetLien gets an existing Lien 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 NewLien ¶
func NewLien(ctx *pulumi.Context, name string, args *LienArgs, opts ...pulumi.ResourceOption) (*Lien, error)
NewLien registers a new resource with the given unique name, arguments, and options.
func (*Lien) ElementType ¶
func (*Lien) ToLienOutput ¶
func (i *Lien) ToLienOutput() LienOutput
func (*Lien) ToLienOutputWithContext ¶
func (i *Lien) ToLienOutputWithContext(ctx context.Context) LienOutput
type LienArgs ¶
type LienArgs struct { // A stable, user-visible/meaningful string identifying the origin // of the Lien, intended to be inspected programmatically. Maximum length of // 200 characters. Origin pulumi.StringInput // A reference to the resource this Lien is attached to. // The server will validate the parent against those for which Liens are supported. // Since a variety of objects can have Liens against them, you must provide the type // prefix (e.g. "projects/my-project-name"). Parent pulumi.StringInput // Concise user-visible strings indicating why an action cannot be performed // on a resource. Maximum length of 200 characters. Reason pulumi.StringInput // The types of operations which should be blocked as a result of this Lien. // Each value should correspond to an IAM permission. The server will validate // the permissions against those for which Liens are supported. An empty // list is meaningless and will be rejected. // e.g. ['resourcemanager.projects.delete'] Restrictions pulumi.StringArrayInput }
The set of arguments for constructing a Lien resource.
func (LienArgs) ElementType ¶
type LienArray ¶
type LienArray []LienInput
func (LienArray) ElementType ¶
func (LienArray) ToLienArrayOutput ¶
func (i LienArray) ToLienArrayOutput() LienArrayOutput
func (LienArray) ToLienArrayOutputWithContext ¶
func (i LienArray) ToLienArrayOutputWithContext(ctx context.Context) LienArrayOutput
type LienArrayInput ¶
type LienArrayInput interface { pulumi.Input ToLienArrayOutput() LienArrayOutput ToLienArrayOutputWithContext(context.Context) LienArrayOutput }
LienArrayInput is an input type that accepts LienArray and LienArrayOutput values. You can construct a concrete instance of `LienArrayInput` via:
LienArray{ LienArgs{...} }
type LienArrayOutput ¶
type LienArrayOutput struct{ *pulumi.OutputState }
func (LienArrayOutput) ElementType ¶
func (LienArrayOutput) ElementType() reflect.Type
func (LienArrayOutput) Index ¶
func (o LienArrayOutput) Index(i pulumi.IntInput) LienOutput
func (LienArrayOutput) ToLienArrayOutput ¶
func (o LienArrayOutput) ToLienArrayOutput() LienArrayOutput
func (LienArrayOutput) ToLienArrayOutputWithContext ¶
func (o LienArrayOutput) ToLienArrayOutputWithContext(ctx context.Context) LienArrayOutput
type LienInput ¶
type LienInput interface { pulumi.Input ToLienOutput() LienOutput ToLienOutputWithContext(ctx context.Context) LienOutput }
type LienMap ¶
func (LienMap) ElementType ¶
func (LienMap) ToLienMapOutput ¶
func (i LienMap) ToLienMapOutput() LienMapOutput
func (LienMap) ToLienMapOutputWithContext ¶
func (i LienMap) ToLienMapOutputWithContext(ctx context.Context) LienMapOutput
type LienMapInput ¶
type LienMapInput interface { pulumi.Input ToLienMapOutput() LienMapOutput ToLienMapOutputWithContext(context.Context) LienMapOutput }
LienMapInput is an input type that accepts LienMap and LienMapOutput values. You can construct a concrete instance of `LienMapInput` via:
LienMap{ "key": LienArgs{...} }
type LienMapOutput ¶
type LienMapOutput struct{ *pulumi.OutputState }
func (LienMapOutput) ElementType ¶
func (LienMapOutput) ElementType() reflect.Type
func (LienMapOutput) MapIndex ¶
func (o LienMapOutput) MapIndex(k pulumi.StringInput) LienOutput
func (LienMapOutput) ToLienMapOutput ¶
func (o LienMapOutput) ToLienMapOutput() LienMapOutput
func (LienMapOutput) ToLienMapOutputWithContext ¶
func (o LienMapOutput) ToLienMapOutputWithContext(ctx context.Context) LienMapOutput
type LienOutput ¶
type LienOutput struct{ *pulumi.OutputState }
func (LienOutput) ElementType ¶
func (LienOutput) ElementType() reflect.Type
func (LienOutput) ToLienOutput ¶
func (o LienOutput) ToLienOutput() LienOutput
func (LienOutput) ToLienOutputWithContext ¶
func (o LienOutput) ToLienOutputWithContext(ctx context.Context) LienOutput
type LienState ¶
type LienState struct { // Time of creation CreateTime pulumi.StringPtrInput // A system-generated unique identifier for this Lien. Name pulumi.StringPtrInput // A stable, user-visible/meaningful string identifying the origin // of the Lien, intended to be inspected programmatically. Maximum length of // 200 characters. Origin pulumi.StringPtrInput // A reference to the resource this Lien is attached to. // The server will validate the parent against those for which Liens are supported. // Since a variety of objects can have Liens against them, you must provide the type // prefix (e.g. "projects/my-project-name"). Parent pulumi.StringPtrInput // Concise user-visible strings indicating why an action cannot be performed // on a resource. Maximum length of 200 characters. Reason pulumi.StringPtrInput // The types of operations which should be blocked as a result of this Lien. // Each value should correspond to an IAM permission. The server will validate // the permissions against those for which Liens are supported. An empty // list is meaningless and will be rejected. // e.g. ['resourcemanager.projects.delete'] Restrictions pulumi.StringArrayInput }