Namespace Pulumi.OpenStack.Identity
Classes
ApplicationCredential
Manages a V3 Application Credential resource within OpenStack Keystone.
Note: All arguments including the application credential name and secret will be stored in the raw state as plain-text. Read more about sensitive data in state.
Note: An Application Credential is created within the authenticated user project scope and is not visible by an admin or other accounts. The Application Credential visibility is similar to
openstack.compute.Keypair.
Example Usage
Predefined secret
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var swift = new OpenStack.Identity.ApplicationCredential("swift", new OpenStack.Identity.ApplicationCredentialArgs
{
Description = "Swift technical application credential",
ExpiresAt = "2019-02-13T12:12:12Z",
Roles =
{
"swiftoperator",
},
Secret = "supersecret",
});
}
}
Unrestricted with autogenerated secret and unlimited TTL
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var unrestricted = new OpenStack.Identity.ApplicationCredential("unrestricted", new OpenStack.Identity.ApplicationCredentialArgs
{
Description = "Unrestricted application credential",
Unrestricted = true,
});
this.ApplicationCredentialSecret = unrestricted.Secret;
}
[Output("applicationCredentialSecret")]
public Output<string> ApplicationCredentialSecret { get; set; }
}
Application credential with access rules
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var monitoring = new OpenStack.Identity.ApplicationCredential("monitoring", new OpenStack.Identity.ApplicationCredentialArgs
{
AccessRules =
{
new OpenStack.Identity.Inputs.ApplicationCredentialAccessRuleArgs
{
Method = "GET",
Path = "/v2.0/metrics",
Service = "monitoring",
},
new OpenStack.Identity.Inputs.ApplicationCredentialAccessRuleArgs
{
Method = "PUT",
Path = "/v2.0/metrics",
Service = "monitoring",
},
},
ExpiresAt = "2019-02-13T12:12:12Z",
});
}
}
ApplicationCredentialArgs
ApplicationCredentialState
EndpointV3
Manages a V3 Endpoint resource within OpenStack Keystone.
Note: This usually requires admin privileges.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var service1 = new OpenStack.Identity.ServiceV3("service1", new OpenStack.Identity.ServiceV3Args
{
Type = "my-service-type",
});
var endpoint1 = new OpenStack.Identity.EndpointV3("endpoint1", new OpenStack.Identity.EndpointV3Args
{
EndpointRegion = service1.Region,
ServiceId = service1.Id,
Url = "http://my-endpoint",
});
}
}
EndpointV3Args
EndpointV3State
GetAuthScope
GetAuthScopeArgs
GetAuthScopeResult
GetEndpoint
GetEndpointArgs
GetEndpointResult
GetGroup
GetGroupArgs
GetGroupResult
GetProject
GetProjectArgs
GetProjectResult
GetRole
GetRoleArgs
GetRoleResult
GetService
GetServiceArgs
GetServiceResult
GetUser
GetUserArgs
GetUserResult
Project
Manages a V3 Project resource within OpenStack Keystone.
Note: You must have admin privileges in your OpenStack cloud to use this resource.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var project1 = new OpenStack.Identity.Project("project1", new OpenStack.Identity.ProjectArgs
{
Description = "A project",
});
}
}
ProjectArgs
ProjectState
Role
Manages a V3 Role resource within OpenStack Keystone.
Note: You must have admin privileges in your OpenStack cloud to use this resource.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var role1 = new OpenStack.Identity.Role("role1", new OpenStack.Identity.RoleArgs
{
});
}
}
RoleArgs
RoleAssignment
Manages a V3 Role assignment within OpenStack Keystone.
Note: You must have admin privileges in your OpenStack cloud to use this resource.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var project1 = new OpenStack.Identity.Project("project1", new OpenStack.Identity.ProjectArgs
{
});
var user1 = new OpenStack.Identity.User("user1", new OpenStack.Identity.UserArgs
{
DefaultProjectId = project1.Id,
});
var role1 = new OpenStack.Identity.Role("role1", new OpenStack.Identity.RoleArgs
{
});
var roleAssignment1 = new OpenStack.Identity.RoleAssignment("roleAssignment1", new OpenStack.Identity.RoleAssignmentArgs
{
ProjectId = project1.Id,
RoleId = role1.Id,
UserId = user1.Id,
});
}
}
RoleAssignmentArgs
RoleAssignmentState
RoleState
ServiceV3
Manages a V3 Service resource within OpenStack Keystone.
Note: This usually requires admin privileges.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var service1 = new OpenStack.Identity.ServiceV3("service1", new OpenStack.Identity.ServiceV3Args
{
Type = "custom",
});
}
}
ServiceV3Args
ServiceV3State
User
Manages a V3 User resource within OpenStack Keystone.
Note: You must have admin privileges in your OpenStack cloud to use this resource.
Example Usage
using Pulumi;
using OpenStack = Pulumi.OpenStack;
class MyStack : Stack
{
public MyStack()
{
var project1 = new OpenStack.Identity.Project("project1", new OpenStack.Identity.ProjectArgs
{
});
var user1 = new OpenStack.Identity.User("user1", new OpenStack.Identity.UserArgs
{
DefaultProjectId = project1.Id,
Description = "A user",
Extra =
{
{ "email", "user_1@foobar.com" },
},
IgnoreChangePasswordUponFirstUse = true,
MultiFactorAuthEnabled = true,
MultiFactorAuthRules =
{
new OpenStack.Identity.Inputs.UserMultiFactorAuthRuleArgs
{
Rule =
{
"password",
"totp",
},
},
new OpenStack.Identity.Inputs.UserMultiFactorAuthRuleArgs
{
Rule =
{
"password",
},
},
},
Password = "password123",
});
}
}