Documentation ¶
Overview ¶
Package mnq provides methods and message types of the mnq v1alpha1 API.
Index ¶
- Constants
- type API
- func (s *API) CreateCredential(req *CreateCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
- func (s *API) CreateNamespace(req *CreateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
- func (s *API) DeleteCredential(req *DeleteCredentialRequest, opts ...scw.RequestOption) error
- func (s *API) DeleteNamespace(req *DeleteNamespaceRequest, opts ...scw.RequestOption) error
- func (s *API) GetCredential(req *GetCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
- func (s *API) GetNamespace(req *GetNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
- func (s *API) ListCredentials(req *ListCredentialsRequest, opts ...scw.RequestOption) (*ListCredentialsResponse, error)
- func (s *API) ListNamespaces(req *ListNamespacesRequest, opts ...scw.RequestOption) (*ListNamespacesResponse, error)
- func (s *API) Regions() []scw.Region
- func (s *API) UpdateCredential(req *UpdateCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
- func (s *API) UpdateNamespace(req *UpdateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
- type CreateCredentialRequest
- type CreateNamespaceRequest
- type Credential
- type CredentialNATSCredsFile
- type CredentialSQSSNSCreds
- type CredentialSummary
- type CredentialSummarySQSSNSCreds
- type DeleteCredentialRequest
- type DeleteNamespaceRequest
- type GetCredentialRequest
- type GetNamespaceRequest
- type ListCredentialsRequest
- type ListCredentialsRequestOrderBy
- type ListCredentialsResponse
- type ListNamespacesRequest
- type ListNamespacesRequestOrderBy
- type ListNamespacesResponse
- type Namespace
- type NamespaceProtocol
- type Permissions
- type UpdateCredentialRequest
- type UpdateNamespaceRequest
Constants ¶
const ( // Order by id (ascending alphabetical order) ListCredentialsRequestOrderByIDAsc = ListCredentialsRequestOrderBy("id_asc") // Order by id (descending alphabetical order) ListCredentialsRequestOrderByIDDesc = ListCredentialsRequestOrderBy("id_desc") // Order by name (ascending alphabetical order) ListCredentialsRequestOrderByNameAsc = ListCredentialsRequestOrderBy("name_asc") // Order by name (descending alphabetical order) ListCredentialsRequestOrderByNameDesc = ListCredentialsRequestOrderBy("name_desc") )
const ( // Order by creation date (ascending chronological order) ListNamespacesRequestOrderByCreatedAtAsc = ListNamespacesRequestOrderBy("created_at_asc") // Order by creation date (descending chronological order) ListNamespacesRequestOrderByCreatedAtDesc = ListNamespacesRequestOrderBy("created_at_desc") // Order by last update date (ascending chronological order) ListNamespacesRequestOrderByUpdatedAtAsc = ListNamespacesRequestOrderBy("updated_at_asc") // Order by last update date (descending chronological order) ListNamespacesRequestOrderByUpdatedAtDesc = ListNamespacesRequestOrderBy("updated_at_desc") // Order by id (ascending alphabetical order) ListNamespacesRequestOrderByIDAsc = ListNamespacesRequestOrderBy("id_asc") // Order by id (descending alphabetical order) ListNamespacesRequestOrderByIDDesc = ListNamespacesRequestOrderBy("id_desc") // Order by name (ascending alphabetical order) ListNamespacesRequestOrderByNameAsc = ListNamespacesRequestOrderBy("name_asc") // Order by name (descending alphabetical order) ListNamespacesRequestOrderByNameDesc = ListNamespacesRequestOrderBy("name_desc") // Order by project_id (ascending alphabetical order) ListNamespacesRequestOrderByProjectIDAsc = ListNamespacesRequestOrderBy("project_id_asc") // Order by project_id (descending alphabetical order) ListNamespacesRequestOrderByProjectIDDesc = ListNamespacesRequestOrderBy("project_id_desc") )
const ( // Unknown protocol NamespaceProtocolUnknown = NamespaceProtocol("unknown") // NATS protocol NamespaceProtocolNats = NamespaceProtocol("nats") // SQS / SNS protocol NamespaceProtocolSqsSns = NamespaceProtocol("sqs_sns") )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API: this API allows you to manage Scaleway Messaging and Queueing brokers. Messaging and Queuing API.
func (*API) CreateCredential ¶
func (s *API) CreateCredential(req *CreateCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
CreateCredential: create credentials. Create a set of credentials for a Messaging and Queuing namespace, specified by its namespace ID. If creating credentials for a NATS namespace, the `permissions` object must not be included in the request. If creating credentials for an SQS/SNS namespace, the `permissions` object is required, with all three of its child attributes.
func (*API) CreateNamespace ¶
func (s *API) CreateNamespace(req *CreateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
CreateNamespace: create a namespace. Create a Messaging and Queuing namespace, set to the desired protocol.
func (*API) DeleteCredential ¶
func (s *API) DeleteCredential(req *DeleteCredentialRequest, opts ...scw.RequestOption) error
DeleteCredential: delete credentials. Delete a set of credentials, specified by their credential ID. Deleting credentials is irreversible and cannot be undone. The credentials can no longer be used to access the namespace.
func (*API) DeleteNamespace ¶
func (s *API) DeleteNamespace(req *DeleteNamespaceRequest, opts ...scw.RequestOption) error
DeleteNamespace: delete a namespace. Delete a Messaging and Queuing namespace, specified by its namespace ID. Note that deleting a namespace is irreversible, and any URLs, credentials and queued messages belonging to this namespace will also be deleted.
func (*API) GetCredential ¶
func (s *API) GetCredential(req *GetCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
GetCredential: get credentials. Retrieve an existing set of credentials, identified by the `credential_id`. The credentials themselves, as well as their metadata (protocol, namespace ID etc), are returned in the response.
func (*API) GetNamespace ¶
func (s *API) GetNamespace(req *GetNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
GetNamespace: get a namespace. Retrieve information about an existing Messaging and Queuing namespace, identified by its namespace ID. Its full details, including name, endpoint and protocol, are returned in the response.
func (*API) ListCredentials ¶
func (s *API) ListCredentials(req *ListCredentialsRequest, opts ...scw.RequestOption) (*ListCredentialsResponse, error)
ListCredentials: list credentials. List existing credentials in the specified region. The response contains only the metadata for the credentials, not the credentials themselves (for this, use **Get Credentials**).
func (*API) ListNamespaces ¶
func (s *API) ListNamespaces(req *ListNamespacesRequest, opts ...scw.RequestOption) (*ListNamespacesResponse, error)
ListNamespaces: list namespaces. List all Messaging and Queuing namespaces in the specified region, for a Scaleway Organization or Project. By default, the namespaces returned in the list are ordered by creation date in ascending order, though this can be modified via the `order_by` field.
func (*API) UpdateCredential ¶
func (s *API) UpdateCredential(req *UpdateCredentialRequest, opts ...scw.RequestOption) (*Credential, error)
UpdateCredential: update credentials. Update a set of credentials. You can update the credentials' name, or (in the case of SQS/SNS credentials only) their permissions. To update the name of NATS credentials, do not include the `permissions` object in your request.
func (*API) UpdateNamespace ¶
func (s *API) UpdateNamespace(req *UpdateNamespaceRequest, opts ...scw.RequestOption) (*Namespace, error)
UpdateNamespace: update the name of a namespace. Update the name of a Messaging and Queuing namespace, specified by its namespace ID.
type CreateCredentialRequest ¶
type CreateCredentialRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // NamespaceID: namespace containing the credentials. NamespaceID string `json:"namespace_id"` // Name: name of the credentials. Name string `json:"name"` // Permissions: permissions associated with these credentials. Permissions *Permissions `json:"permissions"` }
type CreateNamespaceRequest ¶
type CreateNamespaceRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Name: namespace name. Name string `json:"name"` // Protocol: namespace protocol. You must specify a valid protocol (and not `unknown`) to avoid an error. // Default value: unknown Protocol NamespaceProtocol `json:"protocol"` // ProjectID: project containing the Namespace. ProjectID string `json:"project_id"` }
type Credential ¶
type Credential struct { // ID: ID of the credentials. ID string `json:"id"` // Name: name of the credentials. Name string `json:"name"` // NamespaceID: namespace containing the credentials. NamespaceID string `json:"namespace_id"` // Protocol: protocol associated with the credentials. // Default value: unknown Protocol NamespaceProtocol `json:"protocol"` // NatsCredentials: object containing the credentials, if the credentials are for a NATS namespace. // Precisely one of NatsCredentials, SqsSnsCredentials must be set. NatsCredentials *CredentialNATSCredsFile `json:"nats_credentials,omitempty"` // SqsSnsCredentials: object containing the credentials and their metadata, if the credentials are for an SQS/SNS namespace. // Precisely one of NatsCredentials, SqsSnsCredentials must be set. SqsSnsCredentials *CredentialSQSSNSCreds `json:"sqs_sns_credentials,omitempty"` }
Credential: credential.
type CredentialNATSCredsFile ¶
type CredentialNATSCredsFile struct { // Content: raw content of the NATS credentials file. Content string `json:"content"` }
CredentialNATSCredsFile: credential.nats creds file.
type CredentialSQSSNSCreds ¶
type CredentialSQSSNSCreds struct { // AccessKey: access key ID. AccessKey string `json:"access_key"` // SecretKey: secret key ID. SecretKey *string `json:"secret_key"` // Permissions: permissions associated with these credentials. Permissions *Permissions `json:"permissions"` }
CredentialSQSSNSCreds: credential.sqssns creds.
type CredentialSummary ¶
type CredentialSummary struct { // ID: ID of the credentials. ID string `json:"id"` // Name: name of the credentials. Name string `json:"name"` // NamespaceID: namespace containing the credentials. NamespaceID string `json:"namespace_id"` // Protocol: protocol associated with the credentials. // Default value: unknown Protocol NamespaceProtocol `json:"protocol"` // SqsSnsCredentials: object containing the credentials and their metadata, if the credentials are for an SQS/SNS namespace. // Precisely one of SqsSnsCredentials must be set. SqsSnsCredentials *CredentialSummarySQSSNSCreds `json:"sqs_sns_credentials,omitempty"` }
CredentialSummary: credential summary.
type CredentialSummarySQSSNSCreds ¶
type CredentialSummarySQSSNSCreds struct { // AccessKey: access key ID. AccessKey string `json:"access_key"` // Permissions: permissions associated with these credentials. Permissions *Permissions `json:"permissions"` }
CredentialSummarySQSSNSCreds: credential summary.sqssns creds.
type DeleteCredentialRequest ¶
type DeleteNamespaceRequest ¶
type GetCredentialRequest ¶
type GetNamespaceRequest ¶
type ListCredentialsRequest ¶
type ListCredentialsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // NamespaceID: namespace containing the credentials. NamespaceID *string `json:"-"` // Page: page number to return. Page *int32 `json:"-"` // PageSize: maximum number of credentials to return per page. PageSize *uint32 `json:"-"` // OrderBy: order in which to return results. // Default value: id_asc OrderBy ListCredentialsRequestOrderBy `json:"-"` }
type ListCredentialsRequestOrderBy ¶
type ListCredentialsRequestOrderBy string
func (ListCredentialsRequestOrderBy) MarshalJSON ¶
func (enum ListCredentialsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListCredentialsRequestOrderBy) String ¶
func (enum ListCredentialsRequestOrderBy) String() string
func (*ListCredentialsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListCredentialsRequestOrderBy) UnmarshalJSON(data []byte) error
type ListCredentialsResponse ¶
type ListCredentialsResponse struct { // TotalCount: total count of existing credentials (matching any filters specified). TotalCount uint32 `json:"total_count"` // Credentials: credentials on this page. Credentials []*CredentialSummary `json:"credentials"` }
ListCredentialsResponse: list credentials response.
func (*ListCredentialsResponse) UnsafeAppend ¶
func (r *ListCredentialsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListCredentialsResponse) UnsafeGetTotalCount ¶
func (r *ListCredentialsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListNamespacesRequest ¶
type ListNamespacesRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // OrganizationID: include only namespaces in this Organization. OrganizationID *string `json:"-"` // ProjectID: include only namespaces in this Project. ProjectID *string `json:"-"` // Page: page number to return. Page *int32 `json:"-"` // PageSize: maximum number of namespaces to return per page. PageSize *uint32 `json:"-"` // OrderBy: order in which to return results. // Default value: created_at_asc OrderBy ListNamespacesRequestOrderBy `json:"-"` }
type ListNamespacesRequestOrderBy ¶
type ListNamespacesRequestOrderBy string
func (ListNamespacesRequestOrderBy) MarshalJSON ¶
func (enum ListNamespacesRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListNamespacesRequestOrderBy) String ¶
func (enum ListNamespacesRequestOrderBy) String() string
func (*ListNamespacesRequestOrderBy) UnmarshalJSON ¶
func (enum *ListNamespacesRequestOrderBy) UnmarshalJSON(data []byte) error
type ListNamespacesResponse ¶
type ListNamespacesResponse struct { // TotalCount: total count of existing namespaces (matching any filters specified). TotalCount uint32 `json:"total_count"` // Namespaces: namespaces on this page. Namespaces []*Namespace `json:"namespaces"` }
ListNamespacesResponse: list namespaces response.
func (*ListNamespacesResponse) UnsafeAppend ¶
func (r *ListNamespacesResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListNamespacesResponse) UnsafeGetTotalCount ¶
func (r *ListNamespacesResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type Namespace ¶
type Namespace struct { // ID: namespace ID. ID string `json:"id"` // Name: namespace name. Name string `json:"name"` // Endpoint: endpoint of the service matching the namespace's protocol. Endpoint string `json:"endpoint"` // Protocol: namespace protocol. // Default value: unknown Protocol NamespaceProtocol `json:"protocol"` // ProjectID: project ID of the Project containing the namespace. ProjectID string `json:"project_id"` // Region: region where the namespace is deployed. Region scw.Region `json:"region"` // CreatedAt: namespace creation date. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: namespace last modification date. UpdatedAt *time.Time `json:"updated_at"` }
Namespace: namespace.
type NamespaceProtocol ¶
type NamespaceProtocol string
func (NamespaceProtocol) MarshalJSON ¶
func (enum NamespaceProtocol) MarshalJSON() ([]byte, error)
func (NamespaceProtocol) String ¶
func (enum NamespaceProtocol) String() string
func (*NamespaceProtocol) UnmarshalJSON ¶
func (enum *NamespaceProtocol) UnmarshalJSON(data []byte) error
type Permissions ¶
type Permissions struct { // CanPublish: defines whether the credentials bearer can publish messages to the service (send messages to SQS queues or publish to SNS topics). CanPublish *bool `json:"can_publish"` // CanReceive: defines whether the credentials bearer can receive messages from the service. CanReceive *bool `json:"can_receive"` // CanManage: defines whether the credentials bearer can manage the associated resources (SQS queues or SNS topics or subscriptions). CanManage *bool `json:"can_manage"` }
Permissions: permissions.
type UpdateCredentialRequest ¶
type UpdateCredentialRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // CredentialID: ID of the credentials to update. CredentialID string `json:"-"` // Name: name of the credentials. Name *string `json:"name"` // Permissions: permissions associated with these credentials. Permissions *Permissions `json:"permissions"` }