aliyungo: github.com/denverdino/aliyungo/ram Index | Files

package ram

import "github.com/denverdino/aliyungo/ram"

Index

Package Files

account.go ak.go api.go client.go error.go group.go mfa.go policy.go profile.go role.go security.go types.go

Constants

const (
    // RAMDefaultEndpoint is the default API endpoint of RAM services
    RAMDefaultEndpoint = "https://ram.aliyuncs.com"
    RAMAPIVersion      = "2015-05-01"
)

type AccessKey Uses

type AccessKey struct {
    AccessKeyId     string
    AccessKeySecret string
    Status          State
    CreateDate      string
}

type AccessKeyListResponse Uses

type AccessKeyListResponse struct {
    RamCommonResponse
    AccessKeys struct {
        AccessKey []AccessKey
    }
}

type AccessKeyResponse Uses

type AccessKeyResponse struct {
    RamCommonResponse
    AccessKey AccessKey
}

type AccountAlias Uses

type AccountAlias string

AccountAlias 类型:String 必须:是 描述:指定云账号的别名, 长度限制为3-63个字符 限制:^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$

type AccountAliasRequest Uses

type AccountAliasRequest struct {
    AccountAlias string
}

type AccountAliasResponse Uses

type AccountAliasResponse struct {
    RamCommonResponse
    AccountAlias string
}

TODO implement ram api about security

SetAccountAlias()
GetAccountAlias()
ClearAccountAlias()
SetPasswordPolicy()
GetPasswordPolicy()

type AssumeRolePolicyDocument Uses

type AssumeRolePolicyDocument struct {
    Statement []AssumeRolePolicyItem
    Version   string
}

type AssumeRolePolicyItem Uses

type AssumeRolePolicyItem struct {
    Action    string
    Effect    string
    Principal AssumeRolePolicyPrincpal
}

type AssumeRolePolicyPrincpal Uses

type AssumeRolePolicyPrincpal struct {
    RAM []string
}

type AttachPolicyRequest Uses

type AttachPolicyRequest struct {
    PolicyRequest
    UserName string
}

type AttachPolicyToGroupRequest Uses

type AttachPolicyToGroupRequest struct {
    PolicyRequest
    GroupName string
}

type AttachPolicyToRoleRequest Uses

type AttachPolicyToRoleRequest struct {
    PolicyRequest
    RoleName string
}

type Group Uses

type Group struct {
    GroupName string
    Comments  string
}

type GroupListRequest Uses

type GroupListRequest struct {
    Marker   string
    MaxItems int8
}

type GroupListResponse Uses

type GroupListResponse struct {
    RamCommonResponse
    IsTruncated bool
    Marker      string
    Groups      struct {
        Group []Group
    }
}

type GroupQueryRequest Uses

type GroupQueryRequest struct {
    GroupName string
}

type GroupRequest Uses

type GroupRequest struct {
    Group
}

type GroupResponse Uses

type GroupResponse struct {
    RamCommonResponse
    Group Group
}

type GroupUpdateRequest Uses

type GroupUpdateRequest struct {
    GroupName    string
    NewGroupName string
    NewComments  string
}

type ListRoleResponse Uses

type ListRoleResponse struct {
    RamCommonResponse
    Roles struct {
        Role []Role
    }
}

type ListUserRequest Uses

type ListUserRequest struct {
    Marker   string
    MaxItems int8
}

type ListUserResponse Uses

type ListUserResponse struct {
    RamCommonResponse
    IsTruncated bool
    Marker      string
    Users       struct {
        User []User
    }
}

type LoginProfile Uses

type LoginProfile struct {
    UserName              string
    PasswordResetRequired bool
    MFABindRequired       bool
}

type MFABindRequest Uses

type MFABindRequest struct {
    SerialNumber        string
    UserName            string
    AuthenticationCode1 string
    AuthenticationCode2 string
}

type MFADeleteRequest Uses

type MFADeleteRequest struct {
    MFADevice
}

type MFADevice Uses

type MFADevice struct {
    SerialNumber string
}

type MFAListResponse Uses

type MFAListResponse struct {
    RamCommonResponse
    VirtualMFADevices struct {
        VirtualMFADevice []VirtualMFADevice
    }
}

type MFARequest Uses

type MFARequest struct {
    VirtualMFADeviceName string
}

type MFAResponse Uses

type MFAResponse struct {
    RamCommonResponse
    VirtualMFADevice VirtualMFADevice
}

type MFAUserResponse Uses

type MFAUserResponse struct {
    RamCommonResponse
    MFADevice MFADevice
}

type PasswordPolicy Uses

type PasswordPolicy struct {
    MinimumPasswordLength      int8
    RequireLowercaseCharacters bool
    RequireUppercaseCharacters bool
    RequireNumbers             bool
    RequireSymbols             bool
}

type PasswordPolicyRequest Uses

type PasswordPolicyRequest struct {
    PasswordPolicy
}

type PasswordPolicyResponse Uses

type PasswordPolicyResponse struct {
    RamCommonResponse
    PasswordPolicy
}

type Policy Uses

type Policy struct {
    PolicyName      string
    PolicyType      string
    Description     string
    DefaultVersion  string
    CreateDate      string
    UpdateDate      string
    AttachmentCount int64
}

type PolicyDocument Uses

type PolicyDocument struct {
    Statement []PolicyItem
    Version   string
}

type PolicyItem Uses

type PolicyItem struct {
    Action   string
    Effect   string
    Resource string
}

type PolicyListEntitiesResponse Uses

type PolicyListEntitiesResponse struct {
    RamCommonResponse
    Groups struct {
        Group []Group
    }
    Users struct {
        User []User
    }
    Roles struct {
        Role []Role
    }
}

type PolicyListResponse Uses

type PolicyListResponse struct {
    RamCommonResponse
    Policies struct {
        Policy []Policy
    }
}

type PolicyQueryRequest Uses

type PolicyQueryRequest struct {
    PolicyType Type
    Marker     string
    MaxItems   int8
}

type PolicyQueryResponse Uses

type PolicyQueryResponse struct {
    RamCommonResponse
    IsTruncated bool
    Marker      string
    Policies    struct {
        Policy []Policy
    }
}

type PolicyRequest Uses

type PolicyRequest struct {
    PolicyName     string
    PolicyType     Type
    Description    string
    PolicyDocument string
    SetAsDefault   string
    VersionId      string
}

type PolicyResponse Uses

type PolicyResponse struct {
    RamCommonResponse
    Policy               Policy
    DefaultPolicyVersion PolicyVersion
}

type PolicyVersion Uses

type PolicyVersion struct {
    VersionId        string
    IsDefaultVersion bool
    CreateDate       string
    PolicyDocument   string
}

type PolicyVersionResponse Uses

type PolicyVersionResponse struct {
    RamCommonResponse
    IsDefaultVersion bool
    VersionId        string
    CreateDate       string
    PolicyDocument   string
}

type PolicyVersionResponseNew Uses

type PolicyVersionResponseNew struct {
    RamCommonResponse
    PolicyVersion struct {
        IsDefaultVersion bool
        VersionId        string
        CreateDate       string
        PolicyDocument   string
    }
}

type PolicyVersionsResponse Uses

type PolicyVersionsResponse struct {
    RamCommonResponse
    PolicyVersions struct {
        PolicyVersion []PolicyVersion
    }
}

type ProfileRequest Uses

type ProfileRequest struct {
    UserName              string
    Password              string
    PasswordResetRequired bool
    MFABindRequired       bool
}

type ProfileResponse Uses

type ProfileResponse struct {
    RamCommonResponse
    LoginProfile LoginProfile
}

type RamClient Uses

type RamClient struct {
    common.Client
}

func (*RamClient) AddUserToGroup Uses

func (client *RamClient) AddUserToGroup(req UserRelateGroupRequest) (RamCommonResponse, error)

func (*RamClient) AttachPolicyToGroup Uses

func (client *RamClient) AttachPolicyToGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)

Group related

func (*RamClient) AttachPolicyToRole Uses

func (client *RamClient) AttachPolicyToRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)

Role related

func (*RamClient) AttachPolicyToUser Uses

func (client *RamClient) AttachPolicyToUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)

func (*RamClient) BindMFADevice Uses

func (client *RamClient) BindMFADevice(req MFABindRequest) (RamCommonResponse, error)

func (*RamClient) ClearAccountAlias Uses

func (client *RamClient) ClearAccountAlias() (RamCommonResponse, error)

func (*RamClient) CreateAccessKey Uses

func (client *RamClient) CreateAccessKey(userQuery UserQueryRequest) (AccessKeyResponse, error)

func (*RamClient) CreateGroup Uses

func (client *RamClient) CreateGroup(req GroupRequest) (GroupResponse, error)

func (*RamClient) CreateLoginProfile Uses

func (client *RamClient) CreateLoginProfile(req ProfileRequest) (ProfileResponse, error)

func (*RamClient) CreatePolicy Uses

func (client *RamClient) CreatePolicy(policyReq PolicyRequest) (PolicyResponse, error)

func (*RamClient) CreatePolicyVersion Uses

func (client *RamClient) CreatePolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)

func (*RamClient) CreateRole Uses

func (client *RamClient) CreateRole(role RoleRequest) (RoleResponse, error)

func (*RamClient) CreateUser Uses

func (client *RamClient) CreateUser(user UserRequest) (UserResponse, error)

func (*RamClient) CreateVirtualMFADevice Uses

func (client *RamClient) CreateVirtualMFADevice(req MFARequest) (MFAResponse, error)

func (*RamClient) DeleteAccessKey Uses

func (client *RamClient) DeleteAccessKey(accessKeyRequest UpdateAccessKeyRequest) (RamCommonResponse, error)

func (*RamClient) DeleteGroup Uses

func (client *RamClient) DeleteGroup(req GroupQueryRequest) (RamCommonResponse, error)

func (*RamClient) DeleteLoginProfile Uses

func (client *RamClient) DeleteLoginProfile(req UserQueryRequest) (RamCommonResponse, error)

func (*RamClient) DeletePolicy Uses

func (client *RamClient) DeletePolicy(policyReq PolicyRequest) (RamCommonResponse, error)

func (*RamClient) DeletePolicyVersion Uses

func (client *RamClient) DeletePolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)

func (*RamClient) DeleteRole Uses

func (client *RamClient) DeleteRole(roleQuery RoleQueryRequest) (RamCommonResponse, error)

func (*RamClient) DeleteUser Uses

func (client *RamClient) DeleteUser(userQuery UserQueryRequest) (RamCommonResponse, error)

func (*RamClient) DeleteVirtualMFADevice Uses

func (client *RamClient) DeleteVirtualMFADevice(req MFADeleteRequest) (RamCommonResponse, error)

func (*RamClient) DetachPolicyFromGroup Uses

func (client *RamClient) DetachPolicyFromGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)

func (*RamClient) DetachPolicyFromRole Uses

func (client *RamClient) DetachPolicyFromRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)

func (*RamClient) DetachPolicyFromUser Uses

func (client *RamClient) DetachPolicyFromUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)

func (*RamClient) GetAccountAlias Uses

func (client *RamClient) GetAccountAlias() (AccountAliasResponse, error)

func (*RamClient) GetGroup Uses

func (client *RamClient) GetGroup(req GroupQueryRequest) (GroupResponse, error)

func (*RamClient) GetLoginProfile Uses

func (client *RamClient) GetLoginProfile(req UserQueryRequest) (ProfileResponse, error)

func (*RamClient) GetPasswordPolicy Uses

func (client *RamClient) GetPasswordPolicy() (PasswordPolicyResponse, error)

func (*RamClient) GetPolicy Uses

func (client *RamClient) GetPolicy(policyReq PolicyRequest) (PolicyResponse, error)

func (*RamClient) GetPolicyVersion Uses

func (client *RamClient) GetPolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)

func (*RamClient) GetPolicyVersionNew Uses

func (client *RamClient) GetPolicyVersionNew(policyReq PolicyRequest) (PolicyVersionResponseNew, error)

func (*RamClient) GetRole Uses

func (client *RamClient) GetRole(roleQuery RoleQueryRequest) (RoleResponse, error)

func (*RamClient) GetUser Uses

func (client *RamClient) GetUser(userQuery UserQueryRequest) (UserResponse, error)

func (*RamClient) GetUserMFAInfo Uses

func (client *RamClient) GetUserMFAInfo(req UserQueryRequest) (MFAUserResponse, error)

func (*RamClient) ListAccessKeys Uses

func (client *RamClient) ListAccessKeys(userQuery UserQueryRequest) (AccessKeyListResponse, error)

func (*RamClient) ListEntitiesForPolicy Uses

func (client *RamClient) ListEntitiesForPolicy(policyReq PolicyRequest) (PolicyListEntitiesResponse, error)

func (*RamClient) ListGroup Uses

func (client *RamClient) ListGroup(req GroupListRequest) (GroupListResponse, error)

func (*RamClient) ListGroupsForUser Uses

func (client *RamClient) ListGroupsForUser(req UserQueryRequest) (GroupListResponse, error)

func (*RamClient) ListPolicies Uses

func (client *RamClient) ListPolicies(policyQuery PolicyQueryRequest) (PolicyQueryResponse, error)

func (*RamClient) ListPoliciesForGroup Uses

func (client *RamClient) ListPoliciesForGroup(groupQuery GroupQueryRequest) (PolicyListResponse, error)

func (*RamClient) ListPoliciesForRole Uses

func (client *RamClient) ListPoliciesForRole(roleQuery RoleQueryRequest) (PolicyListResponse, error)

func (*RamClient) ListPoliciesForUser Uses

func (client *RamClient) ListPoliciesForUser(userQuery UserQueryRequest) (PolicyListResponse, error)

func (*RamClient) ListPolicyVersions Uses

func (client *RamClient) ListPolicyVersions(policyReq PolicyRequest) (PolicyVersionResponse, error)

func (*RamClient) ListPolicyVersionsNew Uses

func (client *RamClient) ListPolicyVersionsNew(policyReq PolicyRequest) (PolicyVersionsResponse, error)

func (*RamClient) ListRoles Uses

func (client *RamClient) ListRoles() (ListRoleResponse, error)

func (*RamClient) ListUsers Uses

func (client *RamClient) ListUsers(listParams ListUserRequest) (ListUserResponse, error)

func (*RamClient) ListUsersForGroup Uses

func (client *RamClient) ListUsersForGroup(req GroupQueryRequest) (ListUserResponse, error)

func (*RamClient) ListVirtualMFADevices Uses

func (client *RamClient) ListVirtualMFADevices() (MFAListResponse, error)

func (*RamClient) RemoveUserFromGroup Uses

func (client *RamClient) RemoveUserFromGroup(req UserRelateGroupRequest) (RamCommonResponse, error)

func (*RamClient) SetAccountAlias Uses

func (client *RamClient) SetAccountAlias(accountalias AccountAliasRequest) (RamCommonResponse, error)

func (*RamClient) SetDefaultPolicyVersion Uses

func (client *RamClient) SetDefaultPolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)

func (*RamClient) SetPasswordPolicy Uses

func (client *RamClient) SetPasswordPolicy(passwordPolicy PasswordPolicyRequest) (PasswordPolicyResponse, error)

func (*RamClient) UnbindMFADevice Uses

func (client *RamClient) UnbindMFADevice(req UserQueryRequest) (MFAUserResponse, error)

func (*RamClient) UpdateAccessKey Uses

func (client *RamClient) UpdateAccessKey(accessKeyRequest UpdateAccessKeyRequest) (RamCommonResponse, error)

func (*RamClient) UpdateGroup Uses

func (client *RamClient) UpdateGroup(req GroupUpdateRequest) (GroupResponse, error)

func (*RamClient) UpdateLoginProfile Uses

func (client *RamClient) UpdateLoginProfile(req ProfileRequest) (ProfileResponse, error)

func (*RamClient) UpdateRole Uses

func (client *RamClient) UpdateRole(newRole UpdateRoleRequest) (RoleResponse, error)

func (*RamClient) UpdateUser Uses

func (client *RamClient) UpdateUser(newUser UpdateUserRequest) (UserResponse, error)

type RamClientInterface Uses

type RamClientInterface interface {
    //ram user
    CreateUser(user UserRequest) (UserResponse, error)
    GetUser(userQuery UserQueryRequest) (UserResponse, error)
    UpdateUser(newUser UpdateUserRequest) (UserResponse, error)
    DeleteUser(userQuery UserQueryRequest) (RamCommonResponse, error)
    ListUsers(listParams ListUserRequest) (ListUserResponse, error)

    //ram login profile
    CreateLoginProfile(req ProfileRequest) (ProfileResponse, error)
    GetLoginProfile(req UserQueryRequest) (ProfileResponse, error)
    DeleteLoginProfile(req UserQueryRequest) (RamCommonResponse, error)
    UpdateLoginProfile(req ProfileRequest) (ProfileResponse, error)

    //ram ak
    CreateAccessKey(userQuery UserQueryRequest) (AccessKeyResponse, error)
    UpdateAccessKey(accessKeyRequest UpdateAccessKeyRequest) (RamCommonResponse, error)
    DeleteAccessKey(accessKeyRequest UpdateAccessKeyRequest) (RamCommonResponse, error)
    ListAccessKeys(userQuery UserQueryRequest) (AccessKeyListResponse, error)

    //ram mfa
    CreateVirtualMFADevice(req MFARequest) (MFAResponse, error)
    ListVirtualMFADevices() (MFAListResponse, error)
    DeleteVirtualMFADevice(req MFADeleteRequest) (RamCommonResponse, error)
    BindMFADevice(req MFABindRequest) (RamCommonResponse, error)
    UnbindMFADevice(req UserQueryRequest) (MFAUserResponse, error)
    GetUserMFAInfo(req UserQueryRequest) (MFAUserResponse, error)

    //ram group
    CreateGroup(req GroupRequest) (GroupResponse, error)
    GetGroup(req GroupQueryRequest) (GroupResponse, error)
    UpdateGroup(req GroupUpdateRequest) (GroupResponse, error)
    ListGroup(req GroupListRequest) (GroupListResponse, error)
    DeleteGroup(req GroupQueryRequest) (RamCommonResponse, error)
    AddUserToGroup(req UserRelateGroupRequest) (RamCommonResponse, error)
    RemoveUserFromGroup(req UserRelateGroupRequest) (RamCommonResponse, error)
    ListGroupsForUser(req UserQueryRequest) (GroupListResponse, error)
    ListUsersForGroup(req GroupQueryRequest) (ListUserResponse, error)

    CreateRole(role RoleRequest) (RoleResponse, error)
    GetRole(roleQuery RoleQueryRequest) (RoleResponse, error)
    UpdateRole(newRole UpdateRoleRequest) (RoleResponse, error)
    ListRoles() (ListRoleResponse, error)
    DeleteRole(roleQuery RoleQueryRequest) (RamCommonResponse, error)

    //DONE policy
    CreatePolicy(policyReq PolicyRequest) (PolicyResponse, error)
    GetPolicy(policyReq PolicyRequest) (PolicyResponse, error)
    DeletePolicy(policyReq PolicyRequest) (RamCommonResponse, error)
    ListPolicies(policyQuery PolicyQueryRequest) (PolicyQueryResponse, error)
    ListPoliciesForUser(userQuery UserQueryRequest) (PolicyListResponse, error)

    //ram policy version
    CreatePolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)
    GetPolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)
    GetPolicyVersionNew(policyReq PolicyRequest) (PolicyVersionResponseNew, error)
    DeletePolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)
    ListPolicyVersions(policyReq PolicyRequest) (PolicyVersionResponse, error)
    ListPolicyVersionsNew(policyReq PolicyRequest) (PolicyVersionsResponse, error)
    AttachPolicyToUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)
    DetachPolicyFromUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)
    ListEntitiesForPolicy(policyReq PolicyRequest) (PolicyListEntitiesResponse, error)
    SetDefaultPolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)
    ListPoliciesForGroup(groupQuery GroupQueryRequest) (PolicyListResponse, error)
    AttachPolicyToGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)
    DetachPolicyFromGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)
    AttachPolicyToRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)
    DetachPolicyFromRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)
    ListPoliciesForRole(roleQuery RoleQueryRequest) (PolicyListResponse, error)

    //ram security
    SetAccountAlias(accountAlias AccountAliasRequest) (RamCommonResponse, error)
    GetAccountAlias() (AccountAliasResponse, error)
    ClearAccountAlias() (RamCommonResponse, error)
    SetPasswordPolicy(passwordPolicy PasswordPolicyRequest) (PasswordPolicyResponse, error)
    GetPasswordPolicy() (PasswordPolicyResponse, error)

    // Common Client Methods
    SetUserAgent(userAgent string)
}

func NewClient Uses

func NewClient(accessKeyId string, accessKeySecret string) RamClientInterface

func NewClientWithEndpoint Uses

func NewClientWithEndpoint(endpoint string, accessKeyId string, accessKeySecret string) RamClientInterface

func NewClientWithEndpointAndSecurityToken Uses

func NewClientWithEndpointAndSecurityToken(endpoint string, accessKeyId string, accessKeySecret string, securityToken string) RamClientInterface

func NewClientWithSecurityToken Uses

func NewClientWithSecurityToken(accessKeyId string, accessKeySecret string, securityToken string) RamClientInterface

type RamCommonResponse Uses

type RamCommonResponse struct {
    common.Response
}

type Role Uses

type Role struct {
    RoleId                   string
    RoleName                 string
    Arn                      string
    Description              string
    AssumeRolePolicyDocument string
    CreateDate               string
    UpdateDate               string
}

type RoleQueryRequest Uses

type RoleQueryRequest struct {
    RoleName string
}

type RoleRequest Uses

type RoleRequest struct {
    RoleName                 string
    AssumeRolePolicyDocument string
    Description              string
}

type RoleResponse Uses

type RoleResponse struct {
    RamCommonResponse
    Role Role
}

type State Uses

type State string

CreateAccessKey() UpdateAccessKey() DeleteAccessKey() ListAccessKeys()

const (
    Active   State = "Active"
    Inactive State = "Inactive"
)

type Type Uses

type Type string
const (
    Custom Type = "Custom"
    System Type = "System"
)

type UpdateAccessKeyRequest Uses

type UpdateAccessKeyRequest struct {
    UserAccessKeyId string
    Status          State
    UserName        string
}

type UpdateRoleRequest Uses

type UpdateRoleRequest struct {
    RoleName                    string
    NewAssumeRolePolicyDocument string
}

type UpdateUserRequest Uses

type UpdateUserRequest struct {
    UserName       string
    NewUserName    string
    NewDisplayName string
    NewMobilePhone string
    NewEmail       string
    NewComments    string
}

type User Uses

type User struct {
    UserId        string
    UserName      string
    DisplayName   string
    MobilePhone   string
    Email         string
    Comments      string
    CreateDate    string
    UpdateDate    string
    LastLoginDate string
}

type UserQueryRequest Uses

type UserQueryRequest struct {
    UserName string
}

type UserRelateGroupRequest Uses

type UserRelateGroupRequest struct {
    UserName  string
    GroupName string
}

type UserRequest Uses

type UserRequest struct {
    User
}

type UserResponse Uses

type UserResponse struct {
    RamCommonResponse
    User User
}

type VirtualMFADevice Uses

type VirtualMFADevice struct {
    SerialNumber     string
    Base32StringSeed string
    QRCodePNG        string
    ActivateDate     string
    User             User
}

Package ram imports 2 packages (graph) and is imported by 27 packages. Updated 2020-01-02. Refresh now. Tools for package owners.