iam

package
v0.0.0-...-c33e12d Latest Latest
Warning

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

Go to latest
Published: Mar 13, 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 APIKey

type APIKey struct {
	pulumi.CustomResourceState

	// The access key of the iam api key.
	AccessKey pulumi.StringOutput `pulumi:"accessKey"`
	// ID of the application attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"`
	// The date and time of the creation of the iam api key.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The IP Address of the device which created the API key.
	CreationIp pulumi.StringOutput `pulumi:"creationIp"`
	// The default project ID to use with object storage.
	DefaultProjectId pulumi.StringOutput `pulumi:"defaultProjectId"`
	// The description of the iam api key.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the iam api key is editable.
	Editable pulumi.BoolOutput `pulumi:"editable"`
	// The date and time of the expiration of the iam api key. Please note that in case of change,
	// the resource will be recreated.
	ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"`
	// The secret Key of the iam api key.
	SecretKey pulumi.StringOutput `pulumi:"secretKey"`
	// The date and time of the last update of the iam api key.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// ID of the user attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
}

Creates and manages Scaleway IAM API Keys. For more information, please check [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#api-keys-3665ae)

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.NewApplication(ctx, "ciCd", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewAPIKey(ctx, "main", &iam.APIKeyArgs{
			ApplicationId: pulumi.Any(scaleway_iam_application.Main.Id),
			Description:   pulumi.String("a description"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Api keys can be imported using the `{id}`, e.g.

bash

```sh $ pulumi import scaleway:iam/aPIKey:APIKey main 11111111111111111111 ```

func GetAPIKey

func GetAPIKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *APIKeyState, opts ...pulumi.ResourceOption) (*APIKey, error)

GetAPIKey gets an existing APIKey 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 NewAPIKey

func NewAPIKey(ctx *pulumi.Context,
	name string, args *APIKeyArgs, opts ...pulumi.ResourceOption) (*APIKey, error)

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

func (*APIKey) ElementType

func (*APIKey) ElementType() reflect.Type

func (*APIKey) ToAPIKeyOutput

func (i *APIKey) ToAPIKeyOutput() APIKeyOutput

func (*APIKey) ToAPIKeyOutputWithContext

func (i *APIKey) ToAPIKeyOutputWithContext(ctx context.Context) APIKeyOutput

type APIKeyArgs

type APIKeyArgs struct {
	// ID of the application attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	ApplicationId pulumi.StringPtrInput
	// The default project ID to use with object storage.
	DefaultProjectId pulumi.StringPtrInput
	// The description of the iam api key.
	Description pulumi.StringPtrInput
	// The date and time of the expiration of the iam api key. Please note that in case of change,
	// the resource will be recreated.
	ExpiresAt pulumi.StringPtrInput
	// ID of the user attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	UserId pulumi.StringPtrInput
}

The set of arguments for constructing a APIKey resource.

func (APIKeyArgs) ElementType

func (APIKeyArgs) ElementType() reflect.Type

type APIKeyArray

type APIKeyArray []APIKeyInput

func (APIKeyArray) ElementType

func (APIKeyArray) ElementType() reflect.Type

func (APIKeyArray) ToAPIKeyArrayOutput

func (i APIKeyArray) ToAPIKeyArrayOutput() APIKeyArrayOutput

func (APIKeyArray) ToAPIKeyArrayOutputWithContext

func (i APIKeyArray) ToAPIKeyArrayOutputWithContext(ctx context.Context) APIKeyArrayOutput

type APIKeyArrayInput

type APIKeyArrayInput interface {
	pulumi.Input

	ToAPIKeyArrayOutput() APIKeyArrayOutput
	ToAPIKeyArrayOutputWithContext(context.Context) APIKeyArrayOutput
}

APIKeyArrayInput is an input type that accepts APIKeyArray and APIKeyArrayOutput values. You can construct a concrete instance of `APIKeyArrayInput` via:

APIKeyArray{ APIKeyArgs{...} }

type APIKeyArrayOutput

type APIKeyArrayOutput struct{ *pulumi.OutputState }

func (APIKeyArrayOutput) ElementType

func (APIKeyArrayOutput) ElementType() reflect.Type

func (APIKeyArrayOutput) Index

func (APIKeyArrayOutput) ToAPIKeyArrayOutput

func (o APIKeyArrayOutput) ToAPIKeyArrayOutput() APIKeyArrayOutput

func (APIKeyArrayOutput) ToAPIKeyArrayOutputWithContext

func (o APIKeyArrayOutput) ToAPIKeyArrayOutputWithContext(ctx context.Context) APIKeyArrayOutput

type APIKeyInput

type APIKeyInput interface {
	pulumi.Input

	ToAPIKeyOutput() APIKeyOutput
	ToAPIKeyOutputWithContext(ctx context.Context) APIKeyOutput
}

type APIKeyMap

type APIKeyMap map[string]APIKeyInput

func (APIKeyMap) ElementType

func (APIKeyMap) ElementType() reflect.Type

func (APIKeyMap) ToAPIKeyMapOutput

func (i APIKeyMap) ToAPIKeyMapOutput() APIKeyMapOutput

func (APIKeyMap) ToAPIKeyMapOutputWithContext

func (i APIKeyMap) ToAPIKeyMapOutputWithContext(ctx context.Context) APIKeyMapOutput

type APIKeyMapInput

type APIKeyMapInput interface {
	pulumi.Input

	ToAPIKeyMapOutput() APIKeyMapOutput
	ToAPIKeyMapOutputWithContext(context.Context) APIKeyMapOutput
}

APIKeyMapInput is an input type that accepts APIKeyMap and APIKeyMapOutput values. You can construct a concrete instance of `APIKeyMapInput` via:

APIKeyMap{ "key": APIKeyArgs{...} }

type APIKeyMapOutput

type APIKeyMapOutput struct{ *pulumi.OutputState }

func (APIKeyMapOutput) ElementType

func (APIKeyMapOutput) ElementType() reflect.Type

func (APIKeyMapOutput) MapIndex

func (APIKeyMapOutput) ToAPIKeyMapOutput

func (o APIKeyMapOutput) ToAPIKeyMapOutput() APIKeyMapOutput

func (APIKeyMapOutput) ToAPIKeyMapOutputWithContext

func (o APIKeyMapOutput) ToAPIKeyMapOutputWithContext(ctx context.Context) APIKeyMapOutput

type APIKeyOutput

type APIKeyOutput struct{ *pulumi.OutputState }

func (APIKeyOutput) AccessKey

func (o APIKeyOutput) AccessKey() pulumi.StringOutput

The access key of the iam api key.

func (APIKeyOutput) ApplicationId

func (o APIKeyOutput) ApplicationId() pulumi.StringPtrOutput

ID of the application attached to the api key. Only one of the `applicationId` and `userId` should be specified.

func (APIKeyOutput) CreatedAt

func (o APIKeyOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the iam api key.

func (APIKeyOutput) CreationIp

func (o APIKeyOutput) CreationIp() pulumi.StringOutput

The IP Address of the device which created the API key.

func (APIKeyOutput) DefaultProjectId

func (o APIKeyOutput) DefaultProjectId() pulumi.StringOutput

The default project ID to use with object storage.

func (APIKeyOutput) Description

func (o APIKeyOutput) Description() pulumi.StringPtrOutput

The description of the iam api key.

func (APIKeyOutput) Editable

func (o APIKeyOutput) Editable() pulumi.BoolOutput

Whether the iam api key is editable.

func (APIKeyOutput) ElementType

func (APIKeyOutput) ElementType() reflect.Type

func (APIKeyOutput) ExpiresAt

func (o APIKeyOutput) ExpiresAt() pulumi.StringPtrOutput

The date and time of the expiration of the iam api key. Please note that in case of change, the resource will be recreated.

func (APIKeyOutput) SecretKey

func (o APIKeyOutput) SecretKey() pulumi.StringOutput

The secret Key of the iam api key.

func (APIKeyOutput) ToAPIKeyOutput

func (o APIKeyOutput) ToAPIKeyOutput() APIKeyOutput

func (APIKeyOutput) ToAPIKeyOutputWithContext

func (o APIKeyOutput) ToAPIKeyOutputWithContext(ctx context.Context) APIKeyOutput

func (APIKeyOutput) UpdatedAt

func (o APIKeyOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the iam api key.

func (APIKeyOutput) UserId

func (o APIKeyOutput) UserId() pulumi.StringPtrOutput

ID of the user attached to the api key. Only one of the `applicationId` and `userId` should be specified.

type APIKeyState

type APIKeyState struct {
	// The access key of the iam api key.
	AccessKey pulumi.StringPtrInput
	// ID of the application attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	ApplicationId pulumi.StringPtrInput
	// The date and time of the creation of the iam api key.
	CreatedAt pulumi.StringPtrInput
	// The IP Address of the device which created the API key.
	CreationIp pulumi.StringPtrInput
	// The default project ID to use with object storage.
	DefaultProjectId pulumi.StringPtrInput
	// The description of the iam api key.
	Description pulumi.StringPtrInput
	// Whether the iam api key is editable.
	Editable pulumi.BoolPtrInput
	// The date and time of the expiration of the iam api key. Please note that in case of change,
	// the resource will be recreated.
	ExpiresAt pulumi.StringPtrInput
	// The secret Key of the iam api key.
	SecretKey pulumi.StringPtrInput
	// The date and time of the last update of the iam api key.
	UpdatedAt pulumi.StringPtrInput
	// ID of the user attached to the api key.
	// Only one of the `applicationId` and `userId` should be specified.
	UserId pulumi.StringPtrInput
}

func (APIKeyState) ElementType

func (APIKeyState) ElementType() reflect.Type

type Application

type Application struct {
	pulumi.CustomResourceState

	// The date and time of the creation of the application.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The description of the iam application.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the application is editable.
	Editable pulumi.BoolOutput `pulumi:"editable"`
	// The name of the iam application.
	Name pulumi.StringOutput `pulumi:"name"`
	// `organizationId`) The ID of the organization the application is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The tags associated with the application.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The date and time of the last update of the application.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

Creates and manages Scaleway IAM Applications. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#applications-83ce5e).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.NewApplication(ctx, "main", &iam.ApplicationArgs{
			Description: pulumi.String("a description"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Applications can be imported using the `{id}`, e.g.

bash

```sh $ pulumi import scaleway:iam/application:Application main 11111111-1111-1111-1111-111111111111 ```

func GetApplication

func GetApplication(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error)

GetApplication gets an existing Application 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 NewApplication

func NewApplication(ctx *pulumi.Context,
	name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error)

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

func (*Application) ElementType

func (*Application) ElementType() reflect.Type

func (*Application) ToApplicationOutput

func (i *Application) ToApplicationOutput() ApplicationOutput

func (*Application) ToApplicationOutputWithContext

func (i *Application) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

type ApplicationArgs

type ApplicationArgs struct {
	// The description of the iam application.
	Description pulumi.StringPtrInput
	// The name of the iam application.
	Name pulumi.StringPtrInput
	// `organizationId`) The ID of the organization the application is associated with.
	OrganizationId pulumi.StringPtrInput
	// The tags associated with the application.
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a Application resource.

func (ApplicationArgs) ElementType

func (ApplicationArgs) ElementType() reflect.Type

type ApplicationArray

type ApplicationArray []ApplicationInput

func (ApplicationArray) ElementType

func (ApplicationArray) ElementType() reflect.Type

func (ApplicationArray) ToApplicationArrayOutput

func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArray) ToApplicationArrayOutputWithContext

func (i ApplicationArray) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationArrayInput

type ApplicationArrayInput interface {
	pulumi.Input

	ToApplicationArrayOutput() ApplicationArrayOutput
	ToApplicationArrayOutputWithContext(context.Context) ApplicationArrayOutput
}

ApplicationArrayInput is an input type that accepts ApplicationArray and ApplicationArrayOutput values. You can construct a concrete instance of `ApplicationArrayInput` via:

ApplicationArray{ ApplicationArgs{...} }

type ApplicationArrayOutput

type ApplicationArrayOutput struct{ *pulumi.OutputState }

func (ApplicationArrayOutput) ElementType

func (ApplicationArrayOutput) ElementType() reflect.Type

func (ApplicationArrayOutput) Index

func (ApplicationArrayOutput) ToApplicationArrayOutput

func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArrayOutput) ToApplicationArrayOutputWithContext

func (o ApplicationArrayOutput) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationInput

type ApplicationInput interface {
	pulumi.Input

	ToApplicationOutput() ApplicationOutput
	ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput
}

type ApplicationMap

type ApplicationMap map[string]ApplicationInput

func (ApplicationMap) ElementType

func (ApplicationMap) ElementType() reflect.Type

func (ApplicationMap) ToApplicationMapOutput

func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMap) ToApplicationMapOutputWithContext

func (i ApplicationMap) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationMapInput

type ApplicationMapInput interface {
	pulumi.Input

	ToApplicationMapOutput() ApplicationMapOutput
	ToApplicationMapOutputWithContext(context.Context) ApplicationMapOutput
}

ApplicationMapInput is an input type that accepts ApplicationMap and ApplicationMapOutput values. You can construct a concrete instance of `ApplicationMapInput` via:

ApplicationMap{ "key": ApplicationArgs{...} }

type ApplicationMapOutput

type ApplicationMapOutput struct{ *pulumi.OutputState }

func (ApplicationMapOutput) ElementType

func (ApplicationMapOutput) ElementType() reflect.Type

func (ApplicationMapOutput) MapIndex

func (ApplicationMapOutput) ToApplicationMapOutput

func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMapOutput) ToApplicationMapOutputWithContext

func (o ApplicationMapOutput) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationOutput

type ApplicationOutput struct{ *pulumi.OutputState }

func (ApplicationOutput) CreatedAt

func (o ApplicationOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the application.

func (ApplicationOutput) Description

func (o ApplicationOutput) Description() pulumi.StringPtrOutput

The description of the iam application.

func (ApplicationOutput) Editable

func (o ApplicationOutput) Editable() pulumi.BoolOutput

Whether the application is editable.

func (ApplicationOutput) ElementType

func (ApplicationOutput) ElementType() reflect.Type

func (ApplicationOutput) Name

The name of the iam application.

func (ApplicationOutput) OrganizationId

func (o ApplicationOutput) OrganizationId() pulumi.StringOutput

`organizationId`) The ID of the organization the application is associated with.

func (ApplicationOutput) Tags

The tags associated with the application.

func (ApplicationOutput) ToApplicationOutput

func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput

func (ApplicationOutput) ToApplicationOutputWithContext

func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

func (ApplicationOutput) UpdatedAt

func (o ApplicationOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the application.

type ApplicationState

type ApplicationState struct {
	// The date and time of the creation of the application.
	CreatedAt pulumi.StringPtrInput
	// The description of the iam application.
	Description pulumi.StringPtrInput
	// Whether the application is editable.
	Editable pulumi.BoolPtrInput
	// The name of the iam application.
	Name pulumi.StringPtrInput
	// `organizationId`) The ID of the organization the application is associated with.
	OrganizationId pulumi.StringPtrInput
	// The tags associated with the application.
	Tags pulumi.StringArrayInput
	// The date and time of the last update of the application.
	UpdatedAt pulumi.StringPtrInput
}

func (ApplicationState) ElementType

func (ApplicationState) ElementType() reflect.Type

type Group

type Group struct {
	pulumi.CustomResourceState

	// The list of IDs of the applications attached to the group.
	ApplicationIds pulumi.StringArrayOutput `pulumi:"applicationIds"`
	// The date and time of the creation of the group
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The description of the IAM group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Manage membership externally. This make the resource ignore userIds and application_ids. Should be used when using iam_group_membership
	ExternalMembership pulumi.BoolPtrOutput `pulumi:"externalMembership"`
	// The name of the IAM group.
	Name pulumi.StringOutput `pulumi:"name"`
	// `organizationId`) The ID of the organization the group is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The tags associated with the group.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The date and time of the last update of the group
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// The list of IDs of the users attached to the group.
	UserIds pulumi.StringArrayOutput `pulumi:"userIds"`
}

Creates and manages Scaleway IAM Groups. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#groups-f592eb).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.NewGroup(ctx, "basic", &iam.GroupArgs{
			ApplicationIds: pulumi.StringArray{},
			Description:    pulumi.String("basic description"),
			UserIds:        pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With applications

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		app, err := iam.NewApplication(ctx, "app", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewGroup(ctx, "withApp", &iam.GroupArgs{
			ApplicationIds: pulumi.StringArray{
				app.ID(),
			},
			UserIds: pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

IAM groups can be imported using the `{id}`, e.g.

bash

```sh $ pulumi import scaleway:iam/group:Group basic 11111111-1111-1111-1111-111111111111 ```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group 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 NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// The list of IDs of the applications attached to the group.
	ApplicationIds pulumi.StringArrayInput
	// The description of the IAM group.
	Description pulumi.StringPtrInput
	// Manage membership externally. This make the resource ignore userIds and application_ids. Should be used when using iam_group_membership
	ExternalMembership pulumi.BoolPtrInput
	// The name of the IAM group.
	Name pulumi.StringPtrInput
	// `organizationId`) The ID of the organization the group is associated with.
	OrganizationId pulumi.StringPtrInput
	// The tags associated with the group.
	Tags pulumi.StringArrayInput
	// The list of IDs of the users attached to the group.
	UserIds pulumi.StringArrayInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMembership

type GroupMembership struct {
	pulumi.CustomResourceState

	// The ID of the application that will be added to the group.
	ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"`
	// ID of the group to add members to.
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// The ID of the user that will be added to the group
	//
	// - > Only one of `applicationId` or `userId` must be specified
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
}

Add members to an IAM group. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#groups-f592eb).

## Example Usage

### Application Membership

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		group, err := iam.NewGroup(ctx, "group", &iam.GroupArgs{
			ExternalMembership: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		app, err := iam.NewApplication(ctx, "app", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewGroupMembership(ctx, "member", &iam.GroupMembershipArgs{
			GroupId:       group.ID(),
			ApplicationId: app.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

IAM group memberships can be imported using two format:

- For user: `{group_id}/user/{user_id}`

- For application: `{group_id}/app/{application_id}`

bash

```sh $ pulumi import scaleway:iam/groupMembership:GroupMembership app 11111111-1111-1111-1111-111111111111/app/11111111-1111-1111-1111-111111111111 ```

func GetGroupMembership

func GetGroupMembership(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupMembershipState, opts ...pulumi.ResourceOption) (*GroupMembership, error)

GetGroupMembership gets an existing GroupMembership 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 NewGroupMembership

func NewGroupMembership(ctx *pulumi.Context,
	name string, args *GroupMembershipArgs, opts ...pulumi.ResourceOption) (*GroupMembership, error)

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

func (*GroupMembership) ElementType

func (*GroupMembership) ElementType() reflect.Type

func (*GroupMembership) ToGroupMembershipOutput

func (i *GroupMembership) ToGroupMembershipOutput() GroupMembershipOutput

func (*GroupMembership) ToGroupMembershipOutputWithContext

func (i *GroupMembership) ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput

type GroupMembershipArgs

type GroupMembershipArgs struct {
	// The ID of the application that will be added to the group.
	ApplicationId pulumi.StringPtrInput
	// ID of the group to add members to.
	GroupId pulumi.StringInput
	// The ID of the user that will be added to the group
	//
	// - > Only one of `applicationId` or `userId` must be specified
	UserId pulumi.StringPtrInput
}

The set of arguments for constructing a GroupMembership resource.

func (GroupMembershipArgs) ElementType

func (GroupMembershipArgs) ElementType() reflect.Type

type GroupMembershipArray

type GroupMembershipArray []GroupMembershipInput

func (GroupMembershipArray) ElementType

func (GroupMembershipArray) ElementType() reflect.Type

func (GroupMembershipArray) ToGroupMembershipArrayOutput

func (i GroupMembershipArray) ToGroupMembershipArrayOutput() GroupMembershipArrayOutput

func (GroupMembershipArray) ToGroupMembershipArrayOutputWithContext

func (i GroupMembershipArray) ToGroupMembershipArrayOutputWithContext(ctx context.Context) GroupMembershipArrayOutput

type GroupMembershipArrayInput

type GroupMembershipArrayInput interface {
	pulumi.Input

	ToGroupMembershipArrayOutput() GroupMembershipArrayOutput
	ToGroupMembershipArrayOutputWithContext(context.Context) GroupMembershipArrayOutput
}

GroupMembershipArrayInput is an input type that accepts GroupMembershipArray and GroupMembershipArrayOutput values. You can construct a concrete instance of `GroupMembershipArrayInput` via:

GroupMembershipArray{ GroupMembershipArgs{...} }

type GroupMembershipArrayOutput

type GroupMembershipArrayOutput struct{ *pulumi.OutputState }

func (GroupMembershipArrayOutput) ElementType

func (GroupMembershipArrayOutput) ElementType() reflect.Type

func (GroupMembershipArrayOutput) Index

func (GroupMembershipArrayOutput) ToGroupMembershipArrayOutput

func (o GroupMembershipArrayOutput) ToGroupMembershipArrayOutput() GroupMembershipArrayOutput

func (GroupMembershipArrayOutput) ToGroupMembershipArrayOutputWithContext

func (o GroupMembershipArrayOutput) ToGroupMembershipArrayOutputWithContext(ctx context.Context) GroupMembershipArrayOutput

type GroupMembershipInput

type GroupMembershipInput interface {
	pulumi.Input

	ToGroupMembershipOutput() GroupMembershipOutput
	ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput
}

type GroupMembershipMap

type GroupMembershipMap map[string]GroupMembershipInput

func (GroupMembershipMap) ElementType

func (GroupMembershipMap) ElementType() reflect.Type

func (GroupMembershipMap) ToGroupMembershipMapOutput

func (i GroupMembershipMap) ToGroupMembershipMapOutput() GroupMembershipMapOutput

func (GroupMembershipMap) ToGroupMembershipMapOutputWithContext

func (i GroupMembershipMap) ToGroupMembershipMapOutputWithContext(ctx context.Context) GroupMembershipMapOutput

type GroupMembershipMapInput

type GroupMembershipMapInput interface {
	pulumi.Input

	ToGroupMembershipMapOutput() GroupMembershipMapOutput
	ToGroupMembershipMapOutputWithContext(context.Context) GroupMembershipMapOutput
}

GroupMembershipMapInput is an input type that accepts GroupMembershipMap and GroupMembershipMapOutput values. You can construct a concrete instance of `GroupMembershipMapInput` via:

GroupMembershipMap{ "key": GroupMembershipArgs{...} }

type GroupMembershipMapOutput

type GroupMembershipMapOutput struct{ *pulumi.OutputState }

func (GroupMembershipMapOutput) ElementType

func (GroupMembershipMapOutput) ElementType() reflect.Type

func (GroupMembershipMapOutput) MapIndex

func (GroupMembershipMapOutput) ToGroupMembershipMapOutput

func (o GroupMembershipMapOutput) ToGroupMembershipMapOutput() GroupMembershipMapOutput

func (GroupMembershipMapOutput) ToGroupMembershipMapOutputWithContext

func (o GroupMembershipMapOutput) ToGroupMembershipMapOutputWithContext(ctx context.Context) GroupMembershipMapOutput

type GroupMembershipOutput

type GroupMembershipOutput struct{ *pulumi.OutputState }

func (GroupMembershipOutput) ApplicationId

func (o GroupMembershipOutput) ApplicationId() pulumi.StringPtrOutput

The ID of the application that will be added to the group.

func (GroupMembershipOutput) ElementType

func (GroupMembershipOutput) ElementType() reflect.Type

func (GroupMembershipOutput) GroupId

ID of the group to add members to.

func (GroupMembershipOutput) ToGroupMembershipOutput

func (o GroupMembershipOutput) ToGroupMembershipOutput() GroupMembershipOutput

func (GroupMembershipOutput) ToGroupMembershipOutputWithContext

func (o GroupMembershipOutput) ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput

func (GroupMembershipOutput) UserId

The ID of the user that will be added to the group

- > Only one of `applicationId` or `userId` must be specified

type GroupMembershipState

type GroupMembershipState struct {
	// The ID of the application that will be added to the group.
	ApplicationId pulumi.StringPtrInput
	// ID of the group to add members to.
	GroupId pulumi.StringPtrInput
	// The ID of the user that will be added to the group
	//
	// - > Only one of `applicationId` or `userId` must be specified
	UserId pulumi.StringPtrInput
}

func (GroupMembershipState) ElementType

func (GroupMembershipState) ElementType() reflect.Type

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) ApplicationIds

func (o GroupOutput) ApplicationIds() pulumi.StringArrayOutput

The list of IDs of the applications attached to the group.

func (GroupOutput) CreatedAt

func (o GroupOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the group

func (GroupOutput) Description

func (o GroupOutput) Description() pulumi.StringPtrOutput

The description of the IAM group.

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) ExternalMembership

func (o GroupOutput) ExternalMembership() pulumi.BoolPtrOutput

Manage membership externally. This make the resource ignore userIds and application_ids. Should be used when using iam_group_membership

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

The name of the IAM group.

func (GroupOutput) OrganizationId

func (o GroupOutput) OrganizationId() pulumi.StringOutput

`organizationId`) The ID of the organization the group is associated with.

func (GroupOutput) Tags

The tags associated with the group.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

func (GroupOutput) UpdatedAt

func (o GroupOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the group

func (GroupOutput) UserIds

func (o GroupOutput) UserIds() pulumi.StringArrayOutput

The list of IDs of the users attached to the group.

type GroupState

type GroupState struct {
	// The list of IDs of the applications attached to the group.
	ApplicationIds pulumi.StringArrayInput
	// The date and time of the creation of the group
	CreatedAt pulumi.StringPtrInput
	// The description of the IAM group.
	Description pulumi.StringPtrInput
	// Manage membership externally. This make the resource ignore userIds and application_ids. Should be used when using iam_group_membership
	ExternalMembership pulumi.BoolPtrInput
	// The name of the IAM group.
	Name pulumi.StringPtrInput
	// `organizationId`) The ID of the organization the group is associated with.
	OrganizationId pulumi.StringPtrInput
	// The tags associated with the group.
	Tags pulumi.StringArrayInput
	// The date and time of the last update of the group
	UpdatedAt pulumi.StringPtrInput
	// The list of IDs of the users attached to the group.
	UserIds pulumi.StringArrayInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type LookupApplicationArgs

type LookupApplicationArgs struct {
	// The ID of the IAM application.
	// Only one of the `name` and `applicationId` should be specified.
	ApplicationId *string `pulumi:"applicationId"`
	// The name of the IAM application.
	// Only one of the `name` and `applicationId` should be specified.
	Name *string `pulumi:"name"`
	// `organizationId`) The ID of the
	// organization the application is associated with.
	OrganizationId *string `pulumi:"organizationId"`
}

A collection of arguments for invoking getApplication.

type LookupApplicationOutputArgs

type LookupApplicationOutputArgs struct {
	// The ID of the IAM application.
	// Only one of the `name` and `applicationId` should be specified.
	ApplicationId pulumi.StringPtrInput `pulumi:"applicationId"`
	// The name of the IAM application.
	// Only one of the `name` and `applicationId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// `organizationId`) The ID of the
	// organization the application is associated with.
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
}

A collection of arguments for invoking getApplication.

func (LookupApplicationOutputArgs) ElementType

type LookupApplicationResult

type LookupApplicationResult struct {
	ApplicationId *string `pulumi:"applicationId"`
	CreatedAt     string  `pulumi:"createdAt"`
	Description   string  `pulumi:"description"`
	Editable      bool    `pulumi:"editable"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	Name           *string  `pulumi:"name"`
	OrganizationId *string  `pulumi:"organizationId"`
	Tags           []string `pulumi:"tags"`
	UpdatedAt      string   `pulumi:"updatedAt"`
}

A collection of values returned by getApplication.

func LookupApplication

func LookupApplication(ctx *pulumi.Context, args *LookupApplicationArgs, opts ...pulumi.InvokeOption) (*LookupApplicationResult, error)

Gets information about an existing IAM application.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.LookupApplication(ctx, &iam.LookupApplicationArgs{
			Name: pulumi.StringRef("foobar"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.LookupApplication(ctx, &iam.LookupApplicationArgs{
			ApplicationId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupApplicationResultOutput

type LookupApplicationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApplication.

func (LookupApplicationResultOutput) ApplicationId

func (LookupApplicationResultOutput) CreatedAt

func (LookupApplicationResultOutput) Description

func (LookupApplicationResultOutput) Editable

func (LookupApplicationResultOutput) ElementType

func (LookupApplicationResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupApplicationResultOutput) Name

func (LookupApplicationResultOutput) OrganizationId

func (LookupApplicationResultOutput) Tags

func (LookupApplicationResultOutput) ToLookupApplicationResultOutput

func (o LookupApplicationResultOutput) ToLookupApplicationResultOutput() LookupApplicationResultOutput

func (LookupApplicationResultOutput) ToLookupApplicationResultOutputWithContext

func (o LookupApplicationResultOutput) ToLookupApplicationResultOutputWithContext(ctx context.Context) LookupApplicationResultOutput

func (LookupApplicationResultOutput) UpdatedAt

type LookupGroupArgs

type LookupGroupArgs struct {
	// The ID of the IAM group.
	// Only one of the `name` and `groupId` should be specified.
	GroupId *string `pulumi:"groupId"`
	// The name of the IAM group.
	// Only one of the `name` and `groupId` should be specified.
	Name *string `pulumi:"name"`
	// `organizationId`) The ID of the
	// organization the group is associated with.
	OrganizationId *string `pulumi:"organizationId"`
}

A collection of arguments for invoking getGroup.

type LookupGroupOutputArgs

type LookupGroupOutputArgs struct {
	// The ID of the IAM group.
	// Only one of the `name` and `groupId` should be specified.
	GroupId pulumi.StringPtrInput `pulumi:"groupId"`
	// The name of the IAM group.
	// Only one of the `name` and `groupId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// `organizationId`) The ID of the
	// organization the group is associated with.
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
}

A collection of arguments for invoking getGroup.

func (LookupGroupOutputArgs) ElementType

func (LookupGroupOutputArgs) ElementType() reflect.Type

type LookupGroupResult

type LookupGroupResult struct {
	ApplicationIds     []string `pulumi:"applicationIds"`
	CreatedAt          string   `pulumi:"createdAt"`
	Description        string   `pulumi:"description"`
	ExternalMembership bool     `pulumi:"externalMembership"`
	GroupId            *string  `pulumi:"groupId"`
	// The provider-assigned unique ID for this managed resource.
	Id             string   `pulumi:"id"`
	Name           *string  `pulumi:"name"`
	OrganizationId *string  `pulumi:"organizationId"`
	Tags           []string `pulumi:"tags"`
	UpdatedAt      string   `pulumi:"updatedAt"`
	UserIds        []string `pulumi:"userIds"`
}

A collection of values returned by getGroup.

func LookupGroup

func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error)

Gets information about an existing IAM group. For more information, please check [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#applications-83ce5e)

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.LookupGroup(ctx, &iam.LookupGroupArgs{
			Name: pulumi.StringRef("foobar"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.LookupGroup(ctx, &iam.LookupGroupArgs{
			GroupId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupGroupResultOutput

type LookupGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func (LookupGroupResultOutput) ApplicationIds

func (LookupGroupResultOutput) CreatedAt

func (LookupGroupResultOutput) Description

func (LookupGroupResultOutput) ElementType

func (LookupGroupResultOutput) ElementType() reflect.Type

func (LookupGroupResultOutput) ExternalMembership

func (o LookupGroupResultOutput) ExternalMembership() pulumi.BoolOutput

func (LookupGroupResultOutput) GroupId

func (LookupGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGroupResultOutput) Name

func (LookupGroupResultOutput) OrganizationId

func (o LookupGroupResultOutput) OrganizationId() pulumi.StringPtrOutput

func (LookupGroupResultOutput) Tags

func (LookupGroupResultOutput) ToLookupGroupResultOutput

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext

func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput

func (LookupGroupResultOutput) UpdatedAt

func (LookupGroupResultOutput) UserIds

type LookupSSHKeyArgs

type LookupSSHKeyArgs struct {
	// The SSH key name. Only one of `name` and `sshKeyId` should be specified.
	Name *string `pulumi:"name"`
	// `projectId`) The ID of the project the SSH
	// key is associated with.
	ProjectId *string `pulumi:"projectId"`
	// The SSH key id. Only one of `name` and `sshKeyId` should be specified.
	SshKeyId *string `pulumi:"sshKeyId"`
}

A collection of arguments for invoking getSSHKey.

type LookupSSHKeyOutputArgs

type LookupSSHKeyOutputArgs struct {
	// The SSH key name. Only one of `name` and `sshKeyId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// `projectId`) The ID of the project the SSH
	// key is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The SSH key id. Only one of `name` and `sshKeyId` should be specified.
	SshKeyId pulumi.StringPtrInput `pulumi:"sshKeyId"`
}

A collection of arguments for invoking getSSHKey.

func (LookupSSHKeyOutputArgs) ElementType

func (LookupSSHKeyOutputArgs) ElementType() reflect.Type

type LookupSSHKeyResult

type LookupSSHKeyResult struct {
	// The date and time of the creation of the SSH key.
	CreatedAt string `pulumi:"createdAt"`
	// The SSH key status.
	Disabled    bool   `pulumi:"disabled"`
	Fingerprint string `pulumi:"fingerprint"`
	// The provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The ID of the organization the SSH key is associated with.
	OrganizationId string  `pulumi:"organizationId"`
	ProjectId      *string `pulumi:"projectId"`
	// The SSH public key string
	PublicKey string  `pulumi:"publicKey"`
	SshKeyId  *string `pulumi:"sshKeyId"`
	// The date and time of the last update of the SSH key.
	UpdatedAt string `pulumi:"updatedAt"`
}

A collection of values returned by getSSHKey.

func LookupSSHKey

func LookupSSHKey(ctx *pulumi.Context, args *LookupSSHKeyArgs, opts ...pulumi.InvokeOption) (*LookupSSHKeyResult, error)

Use this data source to get SSH key information based on its ID or name.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.LookupSSHKey(ctx, &iam.LookupSSHKeyArgs{
			SshKeyId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupSSHKeyResultOutput

type LookupSSHKeyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSSHKey.

func (LookupSSHKeyResultOutput) CreatedAt

The date and time of the creation of the SSH key.

func (LookupSSHKeyResultOutput) Disabled

The SSH key status.

func (LookupSSHKeyResultOutput) ElementType

func (LookupSSHKeyResultOutput) ElementType() reflect.Type

func (LookupSSHKeyResultOutput) Fingerprint

func (LookupSSHKeyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSSHKeyResultOutput) Name

func (LookupSSHKeyResultOutput) OrganizationId

func (o LookupSSHKeyResultOutput) OrganizationId() pulumi.StringOutput

The ID of the organization the SSH key is associated with.

func (LookupSSHKeyResultOutput) ProjectId

func (LookupSSHKeyResultOutput) PublicKey

The SSH public key string

func (LookupSSHKeyResultOutput) SshKeyId

func (LookupSSHKeyResultOutput) ToLookupSSHKeyResultOutput

func (o LookupSSHKeyResultOutput) ToLookupSSHKeyResultOutput() LookupSSHKeyResultOutput

func (LookupSSHKeyResultOutput) ToLookupSSHKeyResultOutputWithContext

func (o LookupSSHKeyResultOutput) ToLookupSSHKeyResultOutputWithContext(ctx context.Context) LookupSSHKeyResultOutput

func (LookupSSHKeyResultOutput) UpdatedAt

The date and time of the last update of the SSH key.

type LookupUserArgs

type LookupUserArgs struct {
	// The email address of the IAM user. Only one of the `email` and `userId` should be specified.
	Email *string `pulumi:"email"`
	// `organizationId`) The ID of the
	// organization the user is associated with.
	OrganizationId *string `pulumi:"organizationId"`
	// The ID of the IAM user. Only one of the `email` and `userId` should be specified.
	UserId *string `pulumi:"userId"`
}

A collection of arguments for invoking getUser.

type LookupUserOutputArgs

type LookupUserOutputArgs struct {
	// The email address of the IAM user. Only one of the `email` and `userId` should be specified.
	Email pulumi.StringPtrInput `pulumi:"email"`
	// `organizationId`) The ID of the
	// organization the user is associated with.
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
	// The ID of the IAM user. Only one of the `email` and `userId` should be specified.
	UserId pulumi.StringPtrInput `pulumi:"userId"`
}

A collection of arguments for invoking getUser.

func (LookupUserOutputArgs) ElementType

func (LookupUserOutputArgs) ElementType() reflect.Type

type LookupUserResult

type LookupUserResult struct {
	Email *string `pulumi:"email"`
	// The provider-assigned unique ID for this managed resource.
	Id             string  `pulumi:"id"`
	OrganizationId *string `pulumi:"organizationId"`
	UserId         *string `pulumi:"userId"`
}

A collection of values returned by getUser.

func LookupUser

func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error)

Use this data source to get information on an existing IAM user based on its ID or email address. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#users-06bdcf).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.LookupUser(ctx, &iam.LookupUserArgs{
			UserId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.LookupUser(ctx, &iam.LookupUserArgs{
			Email: pulumi.StringRef("foo@bar.com"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupUserResultOutput

type LookupUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUser.

func (LookupUserResultOutput) ElementType

func (LookupUserResultOutput) ElementType() reflect.Type

func (LookupUserResultOutput) Email

func (LookupUserResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupUserResultOutput) OrganizationId

func (o LookupUserResultOutput) OrganizationId() pulumi.StringPtrOutput

func (LookupUserResultOutput) ToLookupUserResultOutput

func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput

func (LookupUserResultOutput) ToLookupUserResultOutputWithContext

func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput

func (LookupUserResultOutput) UserId

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// ID of the Application the policy will be linked to
	ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"`
	// The date and time of the creation of the policy.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The description of the iam policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the policy is editable.
	Editable pulumi.BoolOutput `pulumi:"editable"`
	// ID of the Group the policy will be linked to
	GroupId pulumi.StringPtrOutput `pulumi:"groupId"`
	// The name of the iam policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// If the policy doesn't apply to a principal.
	//
	// > **Important** Only one of `userId`, `groupId`, `applicationId` and `noPrincipal`  may be set.
	NoPrincipal pulumi.BoolPtrOutput `pulumi:"noPrincipal"`
	// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// List of rules in the policy.
	Rules PolicyRuleArrayOutput `pulumi:"rules"`
	// The tags associated with the iam policy.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The date and time of the last update of the policy.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// ID of the User the policy will be linked to
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
}

Creates and manages Scaleway IAM Policies. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#policies-54b8a7).

> You can find a detailed list of all permission sets available at Scaleway in the permission sets [reference page](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/).

## Example Usage

### Create a policy for an organization's project

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := account.LookupProject(ctx, &account.LookupProjectArgs{
			Name: pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		app, err := iam.NewApplication(ctx, "app", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewPolicy(ctx, "objectReadOnly", &iam.PolicyArgs{
			Description:   pulumi.String("gives app readonly access to object storage in project"),
			ApplicationId: app.ID(),
			Rules: iam.PolicyRuleArray{
				&iam.PolicyRuleArgs{
					ProjectIds: pulumi.StringArray{
						*pulumi.String(_default.Id),
					},
					PermissionSetNames: pulumi.StringArray{
						pulumi.String("ObjectStorageReadOnly"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Create a policy for all current and future projects in an organization

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		app, err := iam.NewApplication(ctx, "app", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewPolicy(ctx, "objectReadOnly", &iam.PolicyArgs{
			Description:   pulumi.String("gives app readonly access to object storage in project"),
			ApplicationId: app.ID(),
			Rules: iam.PolicyRuleArray{
				&iam.PolicyRuleArgs{
					OrganizationId: app.OrganizationId,
					PermissionSetNames: pulumi.StringArray{
						pulumi.String("ObjectStorageReadOnly"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Policies can be imported using the `{id}`, e.g.

bash

```sh $ pulumi import scaleway:iam/policy:Policy main 11111111-1111-1111-1111-111111111111 ```

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 PolicyArgs

type PolicyArgs struct {
	// ID of the Application the policy will be linked to
	ApplicationId pulumi.StringPtrInput
	// The description of the iam policy.
	Description pulumi.StringPtrInput
	// ID of the Group the policy will be linked to
	GroupId pulumi.StringPtrInput
	// The name of the iam policy.
	Name pulumi.StringPtrInput
	// If the policy doesn't apply to a principal.
	//
	// > **Important** Only one of `userId`, `groupId`, `applicationId` and `noPrincipal`  may be set.
	NoPrincipal pulumi.BoolPtrInput
	// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
	OrganizationId pulumi.StringPtrInput
	// List of rules in the policy.
	Rules PolicyRuleArrayInput
	// The tags associated with the iam policy.
	Tags pulumi.StringArrayInput
	// ID of the User the policy will be linked to
	UserId 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 PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) ApplicationId

func (o PolicyOutput) ApplicationId() pulumi.StringPtrOutput

ID of the Application the policy will be linked to

func (PolicyOutput) CreatedAt

func (o PolicyOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the policy.

func (PolicyOutput) Description

func (o PolicyOutput) Description() pulumi.StringPtrOutput

The description of the iam policy.

func (PolicyOutput) Editable

func (o PolicyOutput) Editable() pulumi.BoolOutput

Whether the policy is editable.

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) GroupId

func (o PolicyOutput) GroupId() pulumi.StringPtrOutput

ID of the Group the policy will be linked to

func (PolicyOutput) Name

func (o PolicyOutput) Name() pulumi.StringOutput

The name of the iam policy.

func (PolicyOutput) NoPrincipal

func (o PolicyOutput) NoPrincipal() pulumi.BoolPtrOutput

If the policy doesn't apply to a principal.

> **Important** Only one of `userId`, `groupId`, `applicationId` and `noPrincipal` may be set.

func (PolicyOutput) OrganizationId

func (o PolicyOutput) OrganizationId() pulumi.StringOutput

ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.

func (PolicyOutput) Rules

List of rules in the policy.

func (PolicyOutput) Tags

The tags associated with the iam policy.

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

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

func (PolicyOutput) UpdatedAt

func (o PolicyOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the policy.

func (PolicyOutput) UserId

func (o PolicyOutput) UserId() pulumi.StringPtrOutput

ID of the User the policy will be linked to

type PolicyRule

type PolicyRule struct {
	// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
	OrganizationId *string `pulumi:"organizationId"`
	// Names of permission sets bound to the rule.
	//
	// **_TIP:_**  You can use the Scaleway CLI to list the permissions details. e.g:
	PermissionSetNames []string `pulumi:"permissionSetNames"`
	// List of project IDs scoped to the rule.
	//
	// > **Important** One of `organizationId` or `projectIds`  must be set per rule.
	ProjectIds []string `pulumi:"projectIds"`
}

type PolicyRuleArgs

type PolicyRuleArgs struct {
	// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
	OrganizationId pulumi.StringPtrInput `pulumi:"organizationId"`
	// Names of permission sets bound to the rule.
	//
	// **_TIP:_**  You can use the Scaleway CLI to list the permissions details. e.g:
	PermissionSetNames pulumi.StringArrayInput `pulumi:"permissionSetNames"`
	// List of project IDs scoped to the rule.
	//
	// > **Important** One of `organizationId` or `projectIds`  must be set per rule.
	ProjectIds pulumi.StringArrayInput `pulumi:"projectIds"`
}

func (PolicyRuleArgs) ElementType

func (PolicyRuleArgs) ElementType() reflect.Type

func (PolicyRuleArgs) ToPolicyRuleOutput

func (i PolicyRuleArgs) ToPolicyRuleOutput() PolicyRuleOutput

func (PolicyRuleArgs) ToPolicyRuleOutputWithContext

func (i PolicyRuleArgs) ToPolicyRuleOutputWithContext(ctx context.Context) PolicyRuleOutput

type PolicyRuleArray

type PolicyRuleArray []PolicyRuleInput

func (PolicyRuleArray) ElementType

func (PolicyRuleArray) ElementType() reflect.Type

func (PolicyRuleArray) ToPolicyRuleArrayOutput

func (i PolicyRuleArray) ToPolicyRuleArrayOutput() PolicyRuleArrayOutput

func (PolicyRuleArray) ToPolicyRuleArrayOutputWithContext

func (i PolicyRuleArray) ToPolicyRuleArrayOutputWithContext(ctx context.Context) PolicyRuleArrayOutput

type PolicyRuleArrayInput

type PolicyRuleArrayInput interface {
	pulumi.Input

	ToPolicyRuleArrayOutput() PolicyRuleArrayOutput
	ToPolicyRuleArrayOutputWithContext(context.Context) PolicyRuleArrayOutput
}

PolicyRuleArrayInput is an input type that accepts PolicyRuleArray and PolicyRuleArrayOutput values. You can construct a concrete instance of `PolicyRuleArrayInput` via:

PolicyRuleArray{ PolicyRuleArgs{...} }

type PolicyRuleArrayOutput

type PolicyRuleArrayOutput struct{ *pulumi.OutputState }

func (PolicyRuleArrayOutput) ElementType

func (PolicyRuleArrayOutput) ElementType() reflect.Type

func (PolicyRuleArrayOutput) Index

func (PolicyRuleArrayOutput) ToPolicyRuleArrayOutput

func (o PolicyRuleArrayOutput) ToPolicyRuleArrayOutput() PolicyRuleArrayOutput

func (PolicyRuleArrayOutput) ToPolicyRuleArrayOutputWithContext

func (o PolicyRuleArrayOutput) ToPolicyRuleArrayOutputWithContext(ctx context.Context) PolicyRuleArrayOutput

type PolicyRuleInput

type PolicyRuleInput interface {
	pulumi.Input

	ToPolicyRuleOutput() PolicyRuleOutput
	ToPolicyRuleOutputWithContext(context.Context) PolicyRuleOutput
}

PolicyRuleInput is an input type that accepts PolicyRuleArgs and PolicyRuleOutput values. You can construct a concrete instance of `PolicyRuleInput` via:

PolicyRuleArgs{...}

type PolicyRuleOutput

type PolicyRuleOutput struct{ *pulumi.OutputState }

func (PolicyRuleOutput) ElementType

func (PolicyRuleOutput) ElementType() reflect.Type

func (PolicyRuleOutput) OrganizationId

func (o PolicyRuleOutput) OrganizationId() pulumi.StringPtrOutput

ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.

func (PolicyRuleOutput) PermissionSetNames

func (o PolicyRuleOutput) PermissionSetNames() pulumi.StringArrayOutput

Names of permission sets bound to the rule.

**_TIP:_** You can use the Scaleway CLI to list the permissions details. e.g:

func (PolicyRuleOutput) ProjectIds

func (o PolicyRuleOutput) ProjectIds() pulumi.StringArrayOutput

List of project IDs scoped to the rule.

> **Important** One of `organizationId` or `projectIds` must be set per rule.

func (PolicyRuleOutput) ToPolicyRuleOutput

func (o PolicyRuleOutput) ToPolicyRuleOutput() PolicyRuleOutput

func (PolicyRuleOutput) ToPolicyRuleOutputWithContext

func (o PolicyRuleOutput) ToPolicyRuleOutputWithContext(ctx context.Context) PolicyRuleOutput

type PolicyState

type PolicyState struct {
	// ID of the Application the policy will be linked to
	ApplicationId pulumi.StringPtrInput
	// The date and time of the creation of the policy.
	CreatedAt pulumi.StringPtrInput
	// The description of the iam policy.
	Description pulumi.StringPtrInput
	// Whether the policy is editable.
	Editable pulumi.BoolPtrInput
	// ID of the Group the policy will be linked to
	GroupId pulumi.StringPtrInput
	// The name of the iam policy.
	Name pulumi.StringPtrInput
	// If the policy doesn't apply to a principal.
	//
	// > **Important** Only one of `userId`, `groupId`, `applicationId` and `noPrincipal`  may be set.
	NoPrincipal pulumi.BoolPtrInput
	// ID of organization scoped to the rule, this can be used to create a rule for all projects in an organization.
	OrganizationId pulumi.StringPtrInput
	// List of rules in the policy.
	Rules PolicyRuleArrayInput
	// The tags associated with the iam policy.
	Tags pulumi.StringArrayInput
	// The date and time of the last update of the policy.
	UpdatedAt pulumi.StringPtrInput
	// ID of the User the policy will be linked to
	UserId pulumi.StringPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type SSHKey

type SSHKey struct {
	pulumi.CustomResourceState

	// The date and time of the creation of the SSH key.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The SSH key status.
	Disabled pulumi.BoolPtrOutput `pulumi:"disabled"`
	// The fingerprint of the iam SSH key.
	Fingerprint pulumi.StringOutput `pulumi:"fingerprint"`
	// The name of the SSH key.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the organization the SSH key is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the SSH key is
	// associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The public SSH key to be added.
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
	// The date and time of the last update of the SSH key.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

Creates and manages Scaleway IAM SSH Keys. For more information, see [the documentation](https://developers.scaleway.com/en/products/iam/api/v1alpha1/#ssh-keys-d8ccd4).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.NewSSHKey(ctx, "main", &iam.SSHKeyArgs{
			PublicKey: pulumi.String("<YOUR-PUBLIC-SSH-KEY>"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

SSH keys can be imported using the `id`, e.g.

bash

```sh $ pulumi import scaleway:iam/sSHKey:SSHKey main 11111111-1111-1111-1111-111111111111 ```

func GetSSHKey

func GetSSHKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SSHKeyState, opts ...pulumi.ResourceOption) (*SSHKey, error)

GetSSHKey gets an existing SSHKey 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 NewSSHKey

func NewSSHKey(ctx *pulumi.Context,
	name string, args *SSHKeyArgs, opts ...pulumi.ResourceOption) (*SSHKey, error)

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

func (*SSHKey) ElementType

func (*SSHKey) ElementType() reflect.Type

func (*SSHKey) ToSSHKeyOutput

func (i *SSHKey) ToSSHKeyOutput() SSHKeyOutput

func (*SSHKey) ToSSHKeyOutputWithContext

func (i *SSHKey) ToSSHKeyOutputWithContext(ctx context.Context) SSHKeyOutput

type SSHKeyArgs

type SSHKeyArgs struct {
	// The SSH key status.
	Disabled pulumi.BoolPtrInput
	// The name of the SSH key.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the SSH key is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// The public SSH key to be added.
	PublicKey pulumi.StringInput
}

The set of arguments for constructing a SSHKey resource.

func (SSHKeyArgs) ElementType

func (SSHKeyArgs) ElementType() reflect.Type

type SSHKeyArray

type SSHKeyArray []SSHKeyInput

func (SSHKeyArray) ElementType

func (SSHKeyArray) ElementType() reflect.Type

func (SSHKeyArray) ToSSHKeyArrayOutput

func (i SSHKeyArray) ToSSHKeyArrayOutput() SSHKeyArrayOutput

func (SSHKeyArray) ToSSHKeyArrayOutputWithContext

func (i SSHKeyArray) ToSSHKeyArrayOutputWithContext(ctx context.Context) SSHKeyArrayOutput

type SSHKeyArrayInput

type SSHKeyArrayInput interface {
	pulumi.Input

	ToSSHKeyArrayOutput() SSHKeyArrayOutput
	ToSSHKeyArrayOutputWithContext(context.Context) SSHKeyArrayOutput
}

SSHKeyArrayInput is an input type that accepts SSHKeyArray and SSHKeyArrayOutput values. You can construct a concrete instance of `SSHKeyArrayInput` via:

SSHKeyArray{ SSHKeyArgs{...} }

type SSHKeyArrayOutput

type SSHKeyArrayOutput struct{ *pulumi.OutputState }

func (SSHKeyArrayOutput) ElementType

func (SSHKeyArrayOutput) ElementType() reflect.Type

func (SSHKeyArrayOutput) Index

func (SSHKeyArrayOutput) ToSSHKeyArrayOutput

func (o SSHKeyArrayOutput) ToSSHKeyArrayOutput() SSHKeyArrayOutput

func (SSHKeyArrayOutput) ToSSHKeyArrayOutputWithContext

func (o SSHKeyArrayOutput) ToSSHKeyArrayOutputWithContext(ctx context.Context) SSHKeyArrayOutput

type SSHKeyInput

type SSHKeyInput interface {
	pulumi.Input

	ToSSHKeyOutput() SSHKeyOutput
	ToSSHKeyOutputWithContext(ctx context.Context) SSHKeyOutput
}

type SSHKeyMap

type SSHKeyMap map[string]SSHKeyInput

func (SSHKeyMap) ElementType

func (SSHKeyMap) ElementType() reflect.Type

func (SSHKeyMap) ToSSHKeyMapOutput

func (i SSHKeyMap) ToSSHKeyMapOutput() SSHKeyMapOutput

func (SSHKeyMap) ToSSHKeyMapOutputWithContext

func (i SSHKeyMap) ToSSHKeyMapOutputWithContext(ctx context.Context) SSHKeyMapOutput

type SSHKeyMapInput

type SSHKeyMapInput interface {
	pulumi.Input

	ToSSHKeyMapOutput() SSHKeyMapOutput
	ToSSHKeyMapOutputWithContext(context.Context) SSHKeyMapOutput
}

SSHKeyMapInput is an input type that accepts SSHKeyMap and SSHKeyMapOutput values. You can construct a concrete instance of `SSHKeyMapInput` via:

SSHKeyMap{ "key": SSHKeyArgs{...} }

type SSHKeyMapOutput

type SSHKeyMapOutput struct{ *pulumi.OutputState }

func (SSHKeyMapOutput) ElementType

func (SSHKeyMapOutput) ElementType() reflect.Type

func (SSHKeyMapOutput) MapIndex

func (SSHKeyMapOutput) ToSSHKeyMapOutput

func (o SSHKeyMapOutput) ToSSHKeyMapOutput() SSHKeyMapOutput

func (SSHKeyMapOutput) ToSSHKeyMapOutputWithContext

func (o SSHKeyMapOutput) ToSSHKeyMapOutputWithContext(ctx context.Context) SSHKeyMapOutput

type SSHKeyOutput

type SSHKeyOutput struct{ *pulumi.OutputState }

func (SSHKeyOutput) CreatedAt

func (o SSHKeyOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the SSH key.

func (SSHKeyOutput) Disabled

func (o SSHKeyOutput) Disabled() pulumi.BoolPtrOutput

The SSH key status.

func (SSHKeyOutput) ElementType

func (SSHKeyOutput) ElementType() reflect.Type

func (SSHKeyOutput) Fingerprint

func (o SSHKeyOutput) Fingerprint() pulumi.StringOutput

The fingerprint of the iam SSH key.

func (SSHKeyOutput) Name

func (o SSHKeyOutput) Name() pulumi.StringOutput

The name of the SSH key.

func (SSHKeyOutput) OrganizationId

func (o SSHKeyOutput) OrganizationId() pulumi.StringOutput

The ID of the organization the SSH key is associated with.

func (SSHKeyOutput) ProjectId

func (o SSHKeyOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the SSH key is associated with.

func (SSHKeyOutput) PublicKey

func (o SSHKeyOutput) PublicKey() pulumi.StringOutput

The public SSH key to be added.

func (SSHKeyOutput) ToSSHKeyOutput

func (o SSHKeyOutput) ToSSHKeyOutput() SSHKeyOutput

func (SSHKeyOutput) ToSSHKeyOutputWithContext

func (o SSHKeyOutput) ToSSHKeyOutputWithContext(ctx context.Context) SSHKeyOutput

func (SSHKeyOutput) UpdatedAt

func (o SSHKeyOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the SSH key.

type SSHKeyState

type SSHKeyState struct {
	// The date and time of the creation of the SSH key.
	CreatedAt pulumi.StringPtrInput
	// The SSH key status.
	Disabled pulumi.BoolPtrInput
	// The fingerprint of the iam SSH key.
	Fingerprint pulumi.StringPtrInput
	// The name of the SSH key.
	Name pulumi.StringPtrInput
	// The ID of the organization the SSH key is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the SSH key is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// The public SSH key to be added.
	PublicKey pulumi.StringPtrInput
	// The date and time of the last update of the SSH key.
	UpdatedAt pulumi.StringPtrInput
}

func (SSHKeyState) ElementType

func (SSHKeyState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// The ID of the account root user associated with the user.
	AccountRootUserId pulumi.StringOutput `pulumi:"accountRootUserId"`
	// The date and time of the creation of the iam user.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Whether the iam user is deletable.
	Deletable pulumi.BoolOutput `pulumi:"deletable"`
	// The email of the IAM user.
	Email pulumi.StringOutput `pulumi:"email"`
	// The date of the last login.
	LastLoginAt pulumi.StringOutput `pulumi:"lastLoginAt"`
	// Whether the MFA is enabled.
	Mfa pulumi.BoolOutput `pulumi:"mfa"`
	// `organizationId`) The ID of the organization the user is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The status of user invitation. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
	Status pulumi.StringOutput `pulumi:"status"`
	// The type of user. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
	Type pulumi.StringOutput `pulumi:"type"`
	// The date and time of the last update of the iam user.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

Creates and manages Scaleway IAM Users. For more information, see [the documentation](https://www.scaleway.com/en/developers/api/iam/#path-users-list-users-of-an-organization).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iam.NewUser(ctx, "basic", &iam.UserArgs{
			Email: pulumi.String("test@test.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

IAM users can be imported using the `{id}`, e.g.

bash

```sh $ pulumi import scaleway:iam/user:User basic 11111111-1111-1111-1111-111111111111 ```

func GetUser

func GetUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)

GetUser gets an existing User 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 NewUser

func NewUser(ctx *pulumi.Context,
	name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)

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

func (*User) ElementType

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext

func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput

type UserArgs

type UserArgs struct {
	// The email of the IAM user.
	Email pulumi.StringInput
	// `organizationId`) The ID of the organization the user is associated with.
	OrganizationId pulumi.StringPtrInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

	ToUserArrayOutput() UserArrayOutput
	ToUserArrayOutputWithContext(context.Context) UserArrayOutput
}

UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserInput

type UserInput interface {
	pulumi.Input

	ToUserOutput() UserOutput
	ToUserOutputWithContext(ctx context.Context) UserOutput
}

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserMapInput

type UserMapInput interface {
	pulumi.Input

	ToUserMapOutput() UserMapOutput
	ToUserMapOutputWithContext(context.Context) UserMapOutput
}

UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:

UserMap{ "key": UserArgs{...} }

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) AccountRootUserId

func (o UserOutput) AccountRootUserId() pulumi.StringOutput

The ID of the account root user associated with the user.

func (UserOutput) CreatedAt

func (o UserOutput) CreatedAt() pulumi.StringOutput

The date and time of the creation of the iam user.

func (UserOutput) Deletable

func (o UserOutput) Deletable() pulumi.BoolOutput

Whether the iam user is deletable.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Email

func (o UserOutput) Email() pulumi.StringOutput

The email of the IAM user.

func (UserOutput) LastLoginAt

func (o UserOutput) LastLoginAt() pulumi.StringOutput

The date of the last login.

func (UserOutput) Mfa

func (o UserOutput) Mfa() pulumi.BoolOutput

Whether the MFA is enabled.

func (UserOutput) OrganizationId

func (o UserOutput) OrganizationId() pulumi.StringOutput

`organizationId`) The ID of the organization the user is associated with.

func (UserOutput) Status

func (o UserOutput) Status() pulumi.StringOutput

The status of user invitation. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput

func (UserOutput) Type

func (o UserOutput) Type() pulumi.StringOutput

The type of user. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).

func (UserOutput) UpdatedAt

func (o UserOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the iam user.

type UserState

type UserState struct {
	// The ID of the account root user associated with the user.
	AccountRootUserId pulumi.StringPtrInput
	// The date and time of the creation of the iam user.
	CreatedAt pulumi.StringPtrInput
	// Whether the iam user is deletable.
	Deletable pulumi.BoolPtrInput
	// The email of the IAM user.
	Email pulumi.StringPtrInput
	// The date of the last login.
	LastLoginAt pulumi.StringPtrInput
	// Whether the MFA is enabled.
	Mfa pulumi.BoolPtrInput
	// `organizationId`) The ID of the organization the user is associated with.
	OrganizationId pulumi.StringPtrInput
	// The status of user invitation. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
	Status pulumi.StringPtrInput
	// The type of user. Check the possible values in the [api doc](https://www.scaleway.com/en/developers/api/iam/#path-users-get-a-given-user).
	Type pulumi.StringPtrInput
	// The date and time of the last update of the iam user.
	UpdatedAt pulumi.StringPtrInput
}

func (UserState) ElementType

func (UserState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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