objectstore-api: kmodules.xyz/objectstore-api/api/v1 Index | Files

package v1

import "kmodules.xyz/objectstore-api/api/v1"

Copyright The Kmodules Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

+k8s:deepcopy-gen=package +k8s:openapi-gen=true

Index

Package Files

doc.go generated.pb.go helpers.go openapi_generated.go types.go zz_generated.deepcopy.go

Constants

const (
    ProviderLocal = "local"
    ProviderS3    = "s3"
    ProviderGCS   = "gcs"
    ProviderAzure = "azure"
    ProviderSwift = "swift"
    ProviderB2    = "b2"
    ProviderRest  = "rest"
)
const (
    // Deprecated: Use kmodules.xyz/constants/aws
    AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID"
    // Deprecated: Use kmodules.xyz/constants/aws
    AWS_SECRET_ACCESS_KEY = "AWS_SECRET_ACCESS_KEY"
    // Deprecated: Use kmodules.xyz/constants/aws
    CA_CERT_DATA = "CA_CERT_DATA"

    // Deprecated: Use kmodules.xyz/constants/google
    GOOGLE_PROJECT_ID = "GOOGLE_PROJECT_ID"
    // Deprecated: Use kmodules.xyz/constants/google
    GOOGLE_SERVICE_ACCOUNT_JSON_KEY = "GOOGLE_SERVICE_ACCOUNT_JSON_KEY"
    // Deprecated: Use kmodules.xyz/constants/google
    GOOGLE_APPLICATION_CREDENTIALS = "GOOGLE_APPLICATION_CREDENTIALS"

    // Deprecated: Use kmodules.xyz/constants/azure
    AZURE_ACCOUNT_NAME = "AZURE_ACCOUNT_NAME"
    // Deprecated: Use kmodules.xyz/constants/azure
    AZURE_ACCOUNT_KEY = "AZURE_ACCOUNT_KEY"

    // swift
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_USERNAME = "OS_USERNAME"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_PASSWORD = "OS_PASSWORD"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_REGION_NAME = "OS_REGION_NAME"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_AUTH_URL = "OS_AUTH_URL"

    // v3 specific
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_USER_DOMAIN_NAME = "OS_USER_DOMAIN_NAME"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_PROJECT_NAME = "OS_PROJECT_NAME"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_PROJECT_DOMAIN_NAME = "OS_PROJECT_DOMAIN_NAME"

    // v2 specific
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_TENANT_ID = "OS_TENANT_ID"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_TENANT_NAME = "OS_TENANT_NAME"

    // v1 specific
    // Deprecated: Use kmodules.xyz/constants/openstack
    ST_AUTH = "ST_AUTH"
    // Deprecated: Use kmodules.xyz/constants/openstack
    ST_USER = "ST_USER"
    // Deprecated: Use kmodules.xyz/constants/openstack
    ST_KEY = "ST_KEY"

    // Manual authentication
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_STORAGE_URL = "OS_STORAGE_URL"
    // Deprecated: Use kmodules.xyz/constants/openstack
    OS_AUTH_TOKEN = "OS_AUTH_TOKEN"
)

Variables

var (
    ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowGenerated   = fmt.Errorf("proto: integer overflow")
)

func GetOpenAPIDefinitions Uses

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition

type AzureSpec Uses

type AzureSpec struct {
    Container      string `json:"container,omitempty" protobuf:"bytes,1,opt,name=container"`
    Prefix         string `json:"prefix,omitempty" protobuf:"bytes,2,opt,name=prefix"`
    MaxConnections int64  `json:"maxConnections,omitempty" protobuf:"varint,3,opt,name=maxConnections"`
}

func (*AzureSpec) DeepCopy Uses

func (in *AzureSpec) DeepCopy() *AzureSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSpec.

func (*AzureSpec) DeepCopyInto Uses

func (in *AzureSpec) DeepCopyInto(out *AzureSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureSpec) Descriptor Uses

func (*AzureSpec) Descriptor() ([]byte, []int)

func (*AzureSpec) Marshal Uses

func (m *AzureSpec) Marshal() (dAtA []byte, err error)

func (*AzureSpec) MarshalTo Uses

func (m *AzureSpec) MarshalTo(dAtA []byte) (int, error)

func (*AzureSpec) MarshalToSizedBuffer Uses

func (m *AzureSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*AzureSpec) ProtoMessage Uses

func (*AzureSpec) ProtoMessage()

func (*AzureSpec) Reset Uses

func (m *AzureSpec) Reset()

func (*AzureSpec) Size Uses

func (m *AzureSpec) Size() (n int)

func (*AzureSpec) String Uses

func (this *AzureSpec) String() string

func (*AzureSpec) Unmarshal Uses

func (m *AzureSpec) Unmarshal(dAtA []byte) error

func (*AzureSpec) XXX_DiscardUnknown Uses

func (m *AzureSpec) XXX_DiscardUnknown()

func (*AzureSpec) XXX_Marshal Uses

func (m *AzureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AzureSpec) XXX_Merge Uses

func (m *AzureSpec) XXX_Merge(src proto.Message)

func (*AzureSpec) XXX_Size Uses

func (m *AzureSpec) XXX_Size() int

func (*AzureSpec) XXX_Unmarshal Uses

func (m *AzureSpec) XXX_Unmarshal(b []byte) error

type B2Spec Uses

type B2Spec struct {
    Bucket         string `json:"bucket,omitempty" protobuf:"bytes,1,opt,name=bucket"`
    Prefix         string `json:"prefix,omitempty" protobuf:"bytes,2,opt,name=prefix"`
    MaxConnections int64  `json:"maxConnections,omitempty" protobuf:"varint,3,opt,name=maxConnections"`
}

func (*B2Spec) DeepCopy Uses

func (in *B2Spec) DeepCopy() *B2Spec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new B2Spec.

func (*B2Spec) DeepCopyInto Uses

func (in *B2Spec) DeepCopyInto(out *B2Spec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*B2Spec) Descriptor Uses

func (*B2Spec) Descriptor() ([]byte, []int)

func (*B2Spec) Marshal Uses

func (m *B2Spec) Marshal() (dAtA []byte, err error)

func (*B2Spec) MarshalTo Uses

func (m *B2Spec) MarshalTo(dAtA []byte) (int, error)

func (*B2Spec) MarshalToSizedBuffer Uses

func (m *B2Spec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*B2Spec) ProtoMessage Uses

func (*B2Spec) ProtoMessage()

func (*B2Spec) Reset Uses

func (m *B2Spec) Reset()

func (*B2Spec) Size Uses

func (m *B2Spec) Size() (n int)

func (*B2Spec) String Uses

func (this *B2Spec) String() string

func (*B2Spec) Unmarshal Uses

func (m *B2Spec) Unmarshal(dAtA []byte) error

func (*B2Spec) XXX_DiscardUnknown Uses

func (m *B2Spec) XXX_DiscardUnknown()

func (*B2Spec) XXX_Marshal Uses

func (m *B2Spec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*B2Spec) XXX_Merge Uses

func (m *B2Spec) XXX_Merge(src proto.Message)

func (*B2Spec) XXX_Size Uses

func (m *B2Spec) XXX_Size() int

func (*B2Spec) XXX_Unmarshal Uses

func (m *B2Spec) XXX_Unmarshal(b []byte) error

type Backend Uses

type Backend struct {
    StorageSecretName string `json:"storageSecretName,omitempty" protobuf:"bytes,1,opt,name=storageSecretName"`

    Local *LocalSpec      `json:"local,omitempty" protobuf:"bytes,2,opt,name=local"`
    S3    *S3Spec         `json:"s3,omitempty" protobuf:"bytes,3,opt,name=s3"`
    GCS   *GCSSpec        `json:"gcs,omitempty" protobuf:"bytes,4,opt,name=gcs"`
    Azure *AzureSpec      `json:"azure,omitempty" protobuf:"bytes,5,opt,name=azure"`
    Swift *SwiftSpec      `json:"swift,omitempty" protobuf:"bytes,6,opt,name=swift"`
    B2    *B2Spec         `json:"b2,omitempty" protobuf:"bytes,7,opt,name=b2"`
    Rest  *RestServerSpec `json:"rest,omitempty" protobuf:"bytes,8,opt,name=rest"`
}

func (Backend) Container Uses

func (backend Backend) Container() (string, error)

Container returns name of the bucket

func (*Backend) DeepCopy Uses

func (in *Backend) DeepCopy() *Backend

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.

func (*Backend) DeepCopyInto Uses

func (in *Backend) DeepCopyInto(out *Backend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Backend) Descriptor Uses

func (*Backend) Descriptor() ([]byte, []int)

func (Backend) Endpoint Uses

func (backend Backend) Endpoint() (string, bool)

Endpoint returns endpoint of Restic rest server and S3/S3 compatible backend

func (Backend) Location Uses

func (backend Backend) Location() (string, error)

Location returns the location of backend (<provider>:<bucket name>)

func (*Backend) Marshal Uses

func (m *Backend) Marshal() (dAtA []byte, err error)

func (*Backend) MarshalTo Uses

func (m *Backend) MarshalTo(dAtA []byte) (int, error)

func (*Backend) MarshalToSizedBuffer Uses

func (m *Backend) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (Backend) MaxConnections Uses

func (backend Backend) MaxConnections() int64

MaxConnections returns maximum parallel connection to use to connect with the backend returns 0 if not specified

func (Backend) Prefix Uses

func (backend Backend) Prefix() (string, error)

Prefix returns the prefix used in the backend

func (*Backend) ProtoMessage Uses

func (*Backend) ProtoMessage()

func (Backend) Provider Uses

func (backend Backend) Provider() (string, error)

Provider returns the provider of the backend

func (Backend) Region Uses

func (backend Backend) Region() (string, bool)

Region returns region of S3/S3 compatible backend

func (*Backend) Reset Uses

func (m *Backend) Reset()

func (*Backend) Size Uses

func (m *Backend) Size() (n int)

func (*Backend) String Uses

func (this *Backend) String() string

func (*Backend) Unmarshal Uses

func (m *Backend) Unmarshal(dAtA []byte) error

func (*Backend) XXX_DiscardUnknown Uses

func (m *Backend) XXX_DiscardUnknown()

func (*Backend) XXX_Marshal Uses

func (m *Backend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Backend) XXX_Merge Uses

func (m *Backend) XXX_Merge(src proto.Message)

func (*Backend) XXX_Size Uses

func (m *Backend) XXX_Size() int

func (*Backend) XXX_Unmarshal Uses

func (m *Backend) XXX_Unmarshal(b []byte) error

type GCSSpec Uses

type GCSSpec struct {
    Bucket         string `json:"bucket,omitempty" protobuf:"bytes,1,opt,name=bucket"`
    Prefix         string `json:"prefix,omitempty" protobuf:"bytes,2,opt,name=prefix"`
    MaxConnections int64  `json:"maxConnections,omitempty" protobuf:"varint,3,opt,name=maxConnections"`
}

func (*GCSSpec) DeepCopy Uses

func (in *GCSSpec) DeepCopy() *GCSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCSSpec.

func (*GCSSpec) DeepCopyInto Uses

func (in *GCSSpec) DeepCopyInto(out *GCSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCSSpec) Descriptor Uses

func (*GCSSpec) Descriptor() ([]byte, []int)

func (*GCSSpec) Marshal Uses

func (m *GCSSpec) Marshal() (dAtA []byte, err error)

func (*GCSSpec) MarshalTo Uses

func (m *GCSSpec) MarshalTo(dAtA []byte) (int, error)

func (*GCSSpec) MarshalToSizedBuffer Uses

func (m *GCSSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GCSSpec) ProtoMessage Uses

func (*GCSSpec) ProtoMessage()

func (*GCSSpec) Reset Uses

func (m *GCSSpec) Reset()

func (*GCSSpec) Size Uses

func (m *GCSSpec) Size() (n int)

func (*GCSSpec) String Uses

func (this *GCSSpec) String() string

func (*GCSSpec) Unmarshal Uses

func (m *GCSSpec) Unmarshal(dAtA []byte) error

func (*GCSSpec) XXX_DiscardUnknown Uses

func (m *GCSSpec) XXX_DiscardUnknown()

func (*GCSSpec) XXX_Marshal Uses

func (m *GCSSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GCSSpec) XXX_Merge Uses

func (m *GCSSpec) XXX_Merge(src proto.Message)

func (*GCSSpec) XXX_Size Uses

func (m *GCSSpec) XXX_Size() int

func (*GCSSpec) XXX_Unmarshal Uses

func (m *GCSSpec) XXX_Unmarshal(b []byte) error

type LocalSpec Uses

type LocalSpec struct {
    core.VolumeSource `json:",inline" protobuf:"bytes,1,opt,name=volumeSource"`
    MountPath         string `json:"mountPath,omitempty" protobuf:"bytes,2,opt,name=mountPath"`
    SubPath           string `json:"subPath,omitempty" protobuf:"bytes,3,opt,name=subPath"`
}

func (*LocalSpec) DeepCopy Uses

func (in *LocalSpec) DeepCopy() *LocalSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSpec.

func (*LocalSpec) DeepCopyInto Uses

func (in *LocalSpec) DeepCopyInto(out *LocalSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*LocalSpec) Descriptor Uses

func (*LocalSpec) Descriptor() ([]byte, []int)

func (*LocalSpec) Marshal Uses

func (m *LocalSpec) Marshal() (dAtA []byte, err error)

func (*LocalSpec) MarshalTo Uses

func (m *LocalSpec) MarshalTo(dAtA []byte) (int, error)

func (*LocalSpec) MarshalToSizedBuffer Uses

func (m *LocalSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*LocalSpec) ProtoMessage Uses

func (*LocalSpec) ProtoMessage()

func (*LocalSpec) Reset Uses

func (m *LocalSpec) Reset()

func (*LocalSpec) Size Uses

func (m *LocalSpec) Size() (n int)

func (*LocalSpec) String Uses

func (this *LocalSpec) String() string

func (LocalSpec) ToVolumeAndMount Uses

func (l LocalSpec) ToVolumeAndMount(volName string) (core.Volume, core.VolumeMount)

ToVolumeAndMount returns volumes and mounts for local backend

func (*LocalSpec) Unmarshal Uses

func (m *LocalSpec) Unmarshal(dAtA []byte) error

func (*LocalSpec) XXX_DiscardUnknown Uses

func (m *LocalSpec) XXX_DiscardUnknown()

func (*LocalSpec) XXX_Marshal Uses

func (m *LocalSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LocalSpec) XXX_Merge Uses

func (m *LocalSpec) XXX_Merge(src proto.Message)

func (*LocalSpec) XXX_Size Uses

func (m *LocalSpec) XXX_Size() int

func (*LocalSpec) XXX_Unmarshal Uses

func (m *LocalSpec) XXX_Unmarshal(b []byte) error

type RestServerSpec Uses

type RestServerSpec struct {
    URL string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
}

func (*RestServerSpec) DeepCopy Uses

func (in *RestServerSpec) DeepCopy() *RestServerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestServerSpec.

func (*RestServerSpec) DeepCopyInto Uses

func (in *RestServerSpec) DeepCopyInto(out *RestServerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RestServerSpec) Descriptor Uses

func (*RestServerSpec) Descriptor() ([]byte, []int)

func (*RestServerSpec) Marshal Uses

func (m *RestServerSpec) Marshal() (dAtA []byte, err error)

func (*RestServerSpec) MarshalTo Uses

func (m *RestServerSpec) MarshalTo(dAtA []byte) (int, error)

func (*RestServerSpec) MarshalToSizedBuffer Uses

func (m *RestServerSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*RestServerSpec) ProtoMessage Uses

func (*RestServerSpec) ProtoMessage()

func (*RestServerSpec) Reset Uses

func (m *RestServerSpec) Reset()

func (*RestServerSpec) Size Uses

func (m *RestServerSpec) Size() (n int)

func (*RestServerSpec) String Uses

func (this *RestServerSpec) String() string

func (*RestServerSpec) Unmarshal Uses

func (m *RestServerSpec) Unmarshal(dAtA []byte) error

func (*RestServerSpec) XXX_DiscardUnknown Uses

func (m *RestServerSpec) XXX_DiscardUnknown()

func (*RestServerSpec) XXX_Marshal Uses

func (m *RestServerSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RestServerSpec) XXX_Merge Uses

func (m *RestServerSpec) XXX_Merge(src proto.Message)

func (*RestServerSpec) XXX_Size Uses

func (m *RestServerSpec) XXX_Size() int

func (*RestServerSpec) XXX_Unmarshal Uses

func (m *RestServerSpec) XXX_Unmarshal(b []byte) error

type S3Spec Uses

type S3Spec struct {
    Endpoint string `json:"endpoint,omitempty" protobuf:"bytes,1,opt,name=endpoint"`
    Bucket   string `json:"bucket,omitempty" protobuf:"bytes,2,opt,name=bucket"`
    Prefix   string `json:"prefix,omitempty" protobuf:"bytes,3,opt,name=prefix"`
    Region   string `json:"region,omitempty" protobuf:"bytes,4,opt,name=region"`
}

func (*S3Spec) DeepCopy Uses

func (in *S3Spec) DeepCopy() *S3Spec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Spec.

func (*S3Spec) DeepCopyInto Uses

func (in *S3Spec) DeepCopyInto(out *S3Spec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*S3Spec) Descriptor Uses

func (*S3Spec) Descriptor() ([]byte, []int)

func (*S3Spec) Marshal Uses

func (m *S3Spec) Marshal() (dAtA []byte, err error)

func (*S3Spec) MarshalTo Uses

func (m *S3Spec) MarshalTo(dAtA []byte) (int, error)

func (*S3Spec) MarshalToSizedBuffer Uses

func (m *S3Spec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*S3Spec) ProtoMessage Uses

func (*S3Spec) ProtoMessage()

func (*S3Spec) Reset Uses

func (m *S3Spec) Reset()

func (*S3Spec) Size Uses

func (m *S3Spec) Size() (n int)

func (*S3Spec) String Uses

func (this *S3Spec) String() string

func (*S3Spec) Unmarshal Uses

func (m *S3Spec) Unmarshal(dAtA []byte) error

func (*S3Spec) XXX_DiscardUnknown Uses

func (m *S3Spec) XXX_DiscardUnknown()

func (*S3Spec) XXX_Marshal Uses

func (m *S3Spec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*S3Spec) XXX_Merge Uses

func (m *S3Spec) XXX_Merge(src proto.Message)

func (*S3Spec) XXX_Size Uses

func (m *S3Spec) XXX_Size() int

func (*S3Spec) XXX_Unmarshal Uses

func (m *S3Spec) XXX_Unmarshal(b []byte) error

type SwiftSpec Uses

type SwiftSpec struct {
    Container string `json:"container,omitempty" protobuf:"bytes,1,opt,name=container"`
    Prefix    string `json:"prefix,omitempty" protobuf:"bytes,2,opt,name=prefix"`
}

func (*SwiftSpec) DeepCopy Uses

func (in *SwiftSpec) DeepCopy() *SwiftSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SwiftSpec.

func (*SwiftSpec) DeepCopyInto Uses

func (in *SwiftSpec) DeepCopyInto(out *SwiftSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SwiftSpec) Descriptor Uses

func (*SwiftSpec) Descriptor() ([]byte, []int)

func (*SwiftSpec) Marshal Uses

func (m *SwiftSpec) Marshal() (dAtA []byte, err error)

func (*SwiftSpec) MarshalTo Uses

func (m *SwiftSpec) MarshalTo(dAtA []byte) (int, error)

func (*SwiftSpec) MarshalToSizedBuffer Uses

func (m *SwiftSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SwiftSpec) ProtoMessage Uses

func (*SwiftSpec) ProtoMessage()

func (*SwiftSpec) Reset Uses

func (m *SwiftSpec) Reset()

func (*SwiftSpec) Size Uses

func (m *SwiftSpec) Size() (n int)

func (*SwiftSpec) String Uses

func (this *SwiftSpec) String() string

func (*SwiftSpec) Unmarshal Uses

func (m *SwiftSpec) Unmarshal(dAtA []byte) error

func (*SwiftSpec) XXX_DiscardUnknown Uses

func (m *SwiftSpec) XXX_DiscardUnknown()

func (*SwiftSpec) XXX_Marshal Uses

func (m *SwiftSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SwiftSpec) XXX_Merge Uses

func (m *SwiftSpec) XXX_Merge(src proto.Message)

func (*SwiftSpec) XXX_Size Uses

func (m *SwiftSpec) XXX_Size() int

func (*SwiftSpec) XXX_Unmarshal Uses

func (m *SwiftSpec) XXX_Unmarshal(b []byte) error

Package v1 imports 12 packages (graph) and is imported by 39 packages. Updated 2020-02-19. Refresh now. Tools for package owners.