github.com/Files-com/files-sdk-go/v3@v3.1.81/remoteserver.go (about)

     1  package files_sdk
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	lib "github.com/Files-com/files-sdk-go/v3/lib"
     7  )
     8  
     9  type RemoteServer struct {
    10  	Id                                    int64  `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"`
    11  	Disabled                              *bool  `json:"disabled,omitempty" path:"disabled,omitempty" url:"disabled,omitempty"`
    12  	AuthenticationMethod                  string `json:"authentication_method,omitempty" path:"authentication_method,omitempty" url:"authentication_method,omitempty"`
    13  	Hostname                              string `json:"hostname,omitempty" path:"hostname,omitempty" url:"hostname,omitempty"`
    14  	RemoteHomePath                        string `json:"remote_home_path,omitempty" path:"remote_home_path,omitempty" url:"remote_home_path,omitempty"`
    15  	Name                                  string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"`
    16  	Port                                  int64  `json:"port,omitempty" path:"port,omitempty" url:"port,omitempty"`
    17  	MaxConnections                        int64  `json:"max_connections,omitempty" path:"max_connections,omitempty" url:"max_connections,omitempty"`
    18  	PinToSiteRegion                       *bool  `json:"pin_to_site_region,omitempty" path:"pin_to_site_region,omitempty" url:"pin_to_site_region,omitempty"`
    19  	PinnedRegion                          string `json:"pinned_region,omitempty" path:"pinned_region,omitempty" url:"pinned_region,omitempty"`
    20  	S3Bucket                              string `json:"s3_bucket,omitempty" path:"s3_bucket,omitempty" url:"s3_bucket,omitempty"`
    21  	S3Region                              string `json:"s3_region,omitempty" path:"s3_region,omitempty" url:"s3_region,omitempty"`
    22  	AwsAccessKey                          string `json:"aws_access_key,omitempty" path:"aws_access_key,omitempty" url:"aws_access_key,omitempty"`
    23  	ServerCertificate                     string `json:"server_certificate,omitempty" path:"server_certificate,omitempty" url:"server_certificate,omitempty"`
    24  	ServerHostKey                         string `json:"server_host_key,omitempty" path:"server_host_key,omitempty" url:"server_host_key,omitempty"`
    25  	ServerType                            string `json:"server_type,omitempty" path:"server_type,omitempty" url:"server_type,omitempty"`
    26  	Ssl                                   string `json:"ssl,omitempty" path:"ssl,omitempty" url:"ssl,omitempty"`
    27  	Username                              string `json:"username,omitempty" path:"username,omitempty" url:"username,omitempty"`
    28  	GoogleCloudStorageBucket              string `json:"google_cloud_storage_bucket,omitempty" path:"google_cloud_storage_bucket,omitempty" url:"google_cloud_storage_bucket,omitempty"`
    29  	GoogleCloudStorageProjectId           string `json:"google_cloud_storage_project_id,omitempty" path:"google_cloud_storage_project_id,omitempty" url:"google_cloud_storage_project_id,omitempty"`
    30  	BackblazeB2S3Endpoint                 string `json:"backblaze_b2_s3_endpoint,omitempty" path:"backblaze_b2_s3_endpoint,omitempty" url:"backblaze_b2_s3_endpoint,omitempty"`
    31  	BackblazeB2Bucket                     string `json:"backblaze_b2_bucket,omitempty" path:"backblaze_b2_bucket,omitempty" url:"backblaze_b2_bucket,omitempty"`
    32  	WasabiBucket                          string `json:"wasabi_bucket,omitempty" path:"wasabi_bucket,omitempty" url:"wasabi_bucket,omitempty"`
    33  	WasabiRegion                          string `json:"wasabi_region,omitempty" path:"wasabi_region,omitempty" url:"wasabi_region,omitempty"`
    34  	WasabiAccessKey                       string `json:"wasabi_access_key,omitempty" path:"wasabi_access_key,omitempty" url:"wasabi_access_key,omitempty"`
    35  	RackspaceUsername                     string `json:"rackspace_username,omitempty" path:"rackspace_username,omitempty" url:"rackspace_username,omitempty"`
    36  	RackspaceRegion                       string `json:"rackspace_region,omitempty" path:"rackspace_region,omitempty" url:"rackspace_region,omitempty"`
    37  	RackspaceContainer                    string `json:"rackspace_container,omitempty" path:"rackspace_container,omitempty" url:"rackspace_container,omitempty"`
    38  	AuthSetupLink                         string `json:"auth_setup_link,omitempty" path:"auth_setup_link,omitempty" url:"auth_setup_link,omitempty"`
    39  	AuthStatus                            string `json:"auth_status,omitempty" path:"auth_status,omitempty" url:"auth_status,omitempty"`
    40  	AuthAccountName                       string `json:"auth_account_name,omitempty" path:"auth_account_name,omitempty" url:"auth_account_name,omitempty"`
    41  	OneDriveAccountType                   string `json:"one_drive_account_type,omitempty" path:"one_drive_account_type,omitempty" url:"one_drive_account_type,omitempty"`
    42  	AzureBlobStorageAccount               string `json:"azure_blob_storage_account,omitempty" path:"azure_blob_storage_account,omitempty" url:"azure_blob_storage_account,omitempty"`
    43  	AzureBlobStorageContainer             string `json:"azure_blob_storage_container,omitempty" path:"azure_blob_storage_container,omitempty" url:"azure_blob_storage_container,omitempty"`
    44  	AzureBlobStorageHierarchicalNamespace *bool  `json:"azure_blob_storage_hierarchical_namespace,omitempty" path:"azure_blob_storage_hierarchical_namespace,omitempty" url:"azure_blob_storage_hierarchical_namespace,omitempty"`
    45  	AzureFilesStorageAccount              string `json:"azure_files_storage_account,omitempty" path:"azure_files_storage_account,omitempty" url:"azure_files_storage_account,omitempty"`
    46  	AzureFilesStorageShareName            string `json:"azure_files_storage_share_name,omitempty" path:"azure_files_storage_share_name,omitempty" url:"azure_files_storage_share_name,omitempty"`
    47  	S3CompatibleBucket                    string `json:"s3_compatible_bucket,omitempty" path:"s3_compatible_bucket,omitempty" url:"s3_compatible_bucket,omitempty"`
    48  	S3CompatibleEndpoint                  string `json:"s3_compatible_endpoint,omitempty" path:"s3_compatible_endpoint,omitempty" url:"s3_compatible_endpoint,omitempty"`
    49  	S3CompatibleRegion                    string `json:"s3_compatible_region,omitempty" path:"s3_compatible_region,omitempty" url:"s3_compatible_region,omitempty"`
    50  	S3CompatibleAccessKey                 string `json:"s3_compatible_access_key,omitempty" path:"s3_compatible_access_key,omitempty" url:"s3_compatible_access_key,omitempty"`
    51  	EnableDedicatedIps                    *bool  `json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips,omitempty" url:"enable_dedicated_ips,omitempty"`
    52  	FilesAgentPermissionSet               string `json:"files_agent_permission_set,omitempty" path:"files_agent_permission_set,omitempty" url:"files_agent_permission_set,omitempty"`
    53  	FilesAgentRoot                        string `json:"files_agent_root,omitempty" path:"files_agent_root,omitempty" url:"files_agent_root,omitempty"`
    54  	FilesAgentApiToken                    string `json:"files_agent_api_token,omitempty" path:"files_agent_api_token,omitempty" url:"files_agent_api_token,omitempty"`
    55  	FilesAgentVersion                     string `json:"files_agent_version,omitempty" path:"files_agent_version,omitempty" url:"files_agent_version,omitempty"`
    56  	FilebaseBucket                        string `json:"filebase_bucket,omitempty" path:"filebase_bucket,omitempty" url:"filebase_bucket,omitempty"`
    57  	FilebaseAccessKey                     string `json:"filebase_access_key,omitempty" path:"filebase_access_key,omitempty" url:"filebase_access_key,omitempty"`
    58  	CloudflareBucket                      string `json:"cloudflare_bucket,omitempty" path:"cloudflare_bucket,omitempty" url:"cloudflare_bucket,omitempty"`
    59  	CloudflareAccessKey                   string `json:"cloudflare_access_key,omitempty" path:"cloudflare_access_key,omitempty" url:"cloudflare_access_key,omitempty"`
    60  	CloudflareEndpoint                    string `json:"cloudflare_endpoint,omitempty" path:"cloudflare_endpoint,omitempty" url:"cloudflare_endpoint,omitempty"`
    61  	DropboxTeams                          *bool  `json:"dropbox_teams,omitempty" path:"dropbox_teams,omitempty" url:"dropbox_teams,omitempty"`
    62  	LinodeBucket                          string `json:"linode_bucket,omitempty" path:"linode_bucket,omitempty" url:"linode_bucket,omitempty"`
    63  	LinodeAccessKey                       string `json:"linode_access_key,omitempty" path:"linode_access_key,omitempty" url:"linode_access_key,omitempty"`
    64  	LinodeRegion                          string `json:"linode_region,omitempty" path:"linode_region,omitempty" url:"linode_region,omitempty"`
    65  	AwsSecretKey                          string `json:"aws_secret_key,omitempty" path:"aws_secret_key,omitempty" url:"aws_secret_key,omitempty"`
    66  	Password                              string `json:"password,omitempty" path:"password,omitempty" url:"password,omitempty"`
    67  	PrivateKey                            string `json:"private_key,omitempty" path:"private_key,omitempty" url:"private_key,omitempty"`
    68  	PrivateKeyPassphrase                  string `json:"private_key_passphrase,omitempty" path:"private_key_passphrase,omitempty" url:"private_key_passphrase,omitempty"`
    69  	SslCertificate                        string `json:"ssl_certificate,omitempty" path:"ssl_certificate,omitempty" url:"ssl_certificate,omitempty"`
    70  	GoogleCloudStorageCredentialsJson     string `json:"google_cloud_storage_credentials_json,omitempty" path:"google_cloud_storage_credentials_json,omitempty" url:"google_cloud_storage_credentials_json,omitempty"`
    71  	WasabiSecretKey                       string `json:"wasabi_secret_key,omitempty" path:"wasabi_secret_key,omitempty" url:"wasabi_secret_key,omitempty"`
    72  	BackblazeB2KeyId                      string `json:"backblaze_b2_key_id,omitempty" path:"backblaze_b2_key_id,omitempty" url:"backblaze_b2_key_id,omitempty"`
    73  	BackblazeB2ApplicationKey             string `json:"backblaze_b2_application_key,omitempty" path:"backblaze_b2_application_key,omitempty" url:"backblaze_b2_application_key,omitempty"`
    74  	RackspaceApiKey                       string `json:"rackspace_api_key,omitempty" path:"rackspace_api_key,omitempty" url:"rackspace_api_key,omitempty"`
    75  	ResetAuthentication                   *bool  `json:"reset_authentication,omitempty" path:"reset_authentication,omitempty" url:"reset_authentication,omitempty"`
    76  	AzureBlobStorageAccessKey             string `json:"azure_blob_storage_access_key,omitempty" path:"azure_blob_storage_access_key,omitempty" url:"azure_blob_storage_access_key,omitempty"`
    77  	AzureFilesStorageAccessKey            string `json:"azure_files_storage_access_key,omitempty" path:"azure_files_storage_access_key,omitempty" url:"azure_files_storage_access_key,omitempty"`
    78  	AzureBlobStorageSasToken              string `json:"azure_blob_storage_sas_token,omitempty" path:"azure_blob_storage_sas_token,omitempty" url:"azure_blob_storage_sas_token,omitempty"`
    79  	S3CompatibleSecretKey                 string `json:"s3_compatible_secret_key,omitempty" path:"s3_compatible_secret_key,omitempty" url:"s3_compatible_secret_key,omitempty"`
    80  	FilebaseSecretKey                     string `json:"filebase_secret_key,omitempty" path:"filebase_secret_key,omitempty" url:"filebase_secret_key,omitempty"`
    81  	CloudflareSecretKey                   string `json:"cloudflare_secret_key,omitempty" path:"cloudflare_secret_key,omitempty" url:"cloudflare_secret_key,omitempty"`
    82  	LinodeSecretKey                       string `json:"linode_secret_key,omitempty" path:"linode_secret_key,omitempty" url:"linode_secret_key,omitempty"`
    83  }
    84  
    85  func (r RemoteServer) Identifier() interface{} {
    86  	return r.Id
    87  }
    88  
    89  type RemoteServerCollection []RemoteServer
    90  
    91  type RemoteServerServerCertificateEnum string
    92  
    93  func (u RemoteServerServerCertificateEnum) String() string {
    94  	return string(u)
    95  }
    96  
    97  func (u RemoteServerServerCertificateEnum) Enum() map[string]RemoteServerServerCertificateEnum {
    98  	return map[string]RemoteServerServerCertificateEnum{
    99  		"require_match": RemoteServerServerCertificateEnum("require_match"),
   100  		"allow_any":     RemoteServerServerCertificateEnum("allow_any"),
   101  	}
   102  }
   103  
   104  type RemoteServerServerTypeEnum string
   105  
   106  func (u RemoteServerServerTypeEnum) String() string {
   107  	return string(u)
   108  }
   109  
   110  func (u RemoteServerServerTypeEnum) Enum() map[string]RemoteServerServerTypeEnum {
   111  	return map[string]RemoteServerServerTypeEnum{
   112  		"ftp":                  RemoteServerServerTypeEnum("ftp"),
   113  		"sftp":                 RemoteServerServerTypeEnum("sftp"),
   114  		"s3":                   RemoteServerServerTypeEnum("s3"),
   115  		"google_cloud_storage": RemoteServerServerTypeEnum("google_cloud_storage"),
   116  		"webdav":               RemoteServerServerTypeEnum("webdav"),
   117  		"wasabi":               RemoteServerServerTypeEnum("wasabi"),
   118  		"backblaze_b2":         RemoteServerServerTypeEnum("backblaze_b2"),
   119  		"one_drive":            RemoteServerServerTypeEnum("one_drive"),
   120  		"rackspace":            RemoteServerServerTypeEnum("rackspace"),
   121  		"box":                  RemoteServerServerTypeEnum("box"),
   122  		"dropbox":              RemoteServerServerTypeEnum("dropbox"),
   123  		"google_drive":         RemoteServerServerTypeEnum("google_drive"),
   124  		"azure":                RemoteServerServerTypeEnum("azure"),
   125  		"sharepoint":           RemoteServerServerTypeEnum("sharepoint"),
   126  		"s3_compatible":        RemoteServerServerTypeEnum("s3_compatible"),
   127  		"azure_files":          RemoteServerServerTypeEnum("azure_files"),
   128  		"files_agent":          RemoteServerServerTypeEnum("files_agent"),
   129  		"filebase":             RemoteServerServerTypeEnum("filebase"),
   130  		"cloudflare":           RemoteServerServerTypeEnum("cloudflare"),
   131  		"linode":               RemoteServerServerTypeEnum("linode"),
   132  	}
   133  }
   134  
   135  type RemoteServerSslEnum string
   136  
   137  func (u RemoteServerSslEnum) String() string {
   138  	return string(u)
   139  }
   140  
   141  func (u RemoteServerSslEnum) Enum() map[string]RemoteServerSslEnum {
   142  	return map[string]RemoteServerSslEnum{
   143  		"if_available":     RemoteServerSslEnum("if_available"),
   144  		"require":          RemoteServerSslEnum("require"),
   145  		"require_implicit": RemoteServerSslEnum("require_implicit"),
   146  		"never":            RemoteServerSslEnum("never"),
   147  	}
   148  }
   149  
   150  type RemoteServerOneDriveAccountTypeEnum string
   151  
   152  func (u RemoteServerOneDriveAccountTypeEnum) String() string {
   153  	return string(u)
   154  }
   155  
   156  func (u RemoteServerOneDriveAccountTypeEnum) Enum() map[string]RemoteServerOneDriveAccountTypeEnum {
   157  	return map[string]RemoteServerOneDriveAccountTypeEnum{
   158  		"personal":       RemoteServerOneDriveAccountTypeEnum("personal"),
   159  		"business_other": RemoteServerOneDriveAccountTypeEnum("business_other"),
   160  	}
   161  }
   162  
   163  type RemoteServerFilesAgentPermissionSetEnum string
   164  
   165  func (u RemoteServerFilesAgentPermissionSetEnum) String() string {
   166  	return string(u)
   167  }
   168  
   169  func (u RemoteServerFilesAgentPermissionSetEnum) Enum() map[string]RemoteServerFilesAgentPermissionSetEnum {
   170  	return map[string]RemoteServerFilesAgentPermissionSetEnum{
   171  		"read_write": RemoteServerFilesAgentPermissionSetEnum("read_write"),
   172  		"read_only":  RemoteServerFilesAgentPermissionSetEnum("read_only"),
   173  		"write_only": RemoteServerFilesAgentPermissionSetEnum("write_only"),
   174  	}
   175  }
   176  
   177  type RemoteServerListParams struct {
   178  	ListParams
   179  }
   180  
   181  type RemoteServerFindParams struct {
   182  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
   183  }
   184  
   185  type RemoteServerFindConfigurationFileParams struct {
   186  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
   187  }
   188  
   189  type RemoteServerCreateParams struct {
   190  	AwsAccessKey                          string                                  `url:"aws_access_key,omitempty" required:"false" json:"aws_access_key,omitempty" path:"aws_access_key"`
   191  	AwsSecretKey                          string                                  `url:"aws_secret_key,omitempty" required:"false" json:"aws_secret_key,omitempty" path:"aws_secret_key"`
   192  	Password                              string                                  `url:"password,omitempty" required:"false" json:"password,omitempty" path:"password"`
   193  	PrivateKey                            string                                  `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"`
   194  	PrivateKeyPassphrase                  string                                  `url:"private_key_passphrase,omitempty" required:"false" json:"private_key_passphrase,omitempty" path:"private_key_passphrase"`
   195  	SslCertificate                        string                                  `url:"ssl_certificate,omitempty" required:"false" json:"ssl_certificate,omitempty" path:"ssl_certificate"`
   196  	GoogleCloudStorageCredentialsJson     string                                  `url:"google_cloud_storage_credentials_json,omitempty" required:"false" json:"google_cloud_storage_credentials_json,omitempty" path:"google_cloud_storage_credentials_json"`
   197  	WasabiAccessKey                       string                                  `url:"wasabi_access_key,omitempty" required:"false" json:"wasabi_access_key,omitempty" path:"wasabi_access_key"`
   198  	WasabiSecretKey                       string                                  `url:"wasabi_secret_key,omitempty" required:"false" json:"wasabi_secret_key,omitempty" path:"wasabi_secret_key"`
   199  	BackblazeB2KeyId                      string                                  `url:"backblaze_b2_key_id,omitempty" required:"false" json:"backblaze_b2_key_id,omitempty" path:"backblaze_b2_key_id"`
   200  	BackblazeB2ApplicationKey             string                                  `url:"backblaze_b2_application_key,omitempty" required:"false" json:"backblaze_b2_application_key,omitempty" path:"backblaze_b2_application_key"`
   201  	RackspaceApiKey                       string                                  `url:"rackspace_api_key,omitempty" required:"false" json:"rackspace_api_key,omitempty" path:"rackspace_api_key"`
   202  	ResetAuthentication                   *bool                                   `url:"reset_authentication,omitempty" required:"false" json:"reset_authentication,omitempty" path:"reset_authentication"`
   203  	AzureBlobStorageAccessKey             string                                  `url:"azure_blob_storage_access_key,omitempty" required:"false" json:"azure_blob_storage_access_key,omitempty" path:"azure_blob_storage_access_key"`
   204  	AzureFilesStorageAccessKey            string                                  `url:"azure_files_storage_access_key,omitempty" required:"false" json:"azure_files_storage_access_key,omitempty" path:"azure_files_storage_access_key"`
   205  	Hostname                              string                                  `url:"hostname,omitempty" required:"false" json:"hostname,omitempty" path:"hostname"`
   206  	Name                                  string                                  `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"`
   207  	MaxConnections                        int64                                   `url:"max_connections,omitempty" required:"false" json:"max_connections,omitempty" path:"max_connections"`
   208  	PinToSiteRegion                       *bool                                   `url:"pin_to_site_region,omitempty" required:"false" json:"pin_to_site_region,omitempty" path:"pin_to_site_region"`
   209  	Port                                  int64                                   `url:"port,omitempty" required:"false" json:"port,omitempty" path:"port"`
   210  	S3Bucket                              string                                  `url:"s3_bucket,omitempty" required:"false" json:"s3_bucket,omitempty" path:"s3_bucket"`
   211  	S3Region                              string                                  `url:"s3_region,omitempty" required:"false" json:"s3_region,omitempty" path:"s3_region"`
   212  	ServerCertificate                     RemoteServerServerCertificateEnum       `url:"server_certificate,omitempty" required:"false" json:"server_certificate,omitempty" path:"server_certificate"`
   213  	ServerHostKey                         string                                  `url:"server_host_key,omitempty" required:"false" json:"server_host_key,omitempty" path:"server_host_key"`
   214  	ServerType                            RemoteServerServerTypeEnum              `url:"server_type,omitempty" required:"false" json:"server_type,omitempty" path:"server_type"`
   215  	Ssl                                   RemoteServerSslEnum                     `url:"ssl,omitempty" required:"false" json:"ssl,omitempty" path:"ssl"`
   216  	Username                              string                                  `url:"username,omitempty" required:"false" json:"username,omitempty" path:"username"`
   217  	GoogleCloudStorageBucket              string                                  `url:"google_cloud_storage_bucket,omitempty" required:"false" json:"google_cloud_storage_bucket,omitempty" path:"google_cloud_storage_bucket"`
   218  	GoogleCloudStorageProjectId           string                                  `url:"google_cloud_storage_project_id,omitempty" required:"false" json:"google_cloud_storage_project_id,omitempty" path:"google_cloud_storage_project_id"`
   219  	BackblazeB2Bucket                     string                                  `url:"backblaze_b2_bucket,omitempty" required:"false" json:"backblaze_b2_bucket,omitempty" path:"backblaze_b2_bucket"`
   220  	BackblazeB2S3Endpoint                 string                                  `url:"backblaze_b2_s3_endpoint,omitempty" required:"false" json:"backblaze_b2_s3_endpoint,omitempty" path:"backblaze_b2_s3_endpoint"`
   221  	WasabiBucket                          string                                  `url:"wasabi_bucket,omitempty" required:"false" json:"wasabi_bucket,omitempty" path:"wasabi_bucket"`
   222  	WasabiRegion                          string                                  `url:"wasabi_region,omitempty" required:"false" json:"wasabi_region,omitempty" path:"wasabi_region"`
   223  	RackspaceUsername                     string                                  `url:"rackspace_username,omitempty" required:"false" json:"rackspace_username,omitempty" path:"rackspace_username"`
   224  	RackspaceRegion                       string                                  `url:"rackspace_region,omitempty" required:"false" json:"rackspace_region,omitempty" path:"rackspace_region"`
   225  	RackspaceContainer                    string                                  `url:"rackspace_container,omitempty" required:"false" json:"rackspace_container,omitempty" path:"rackspace_container"`
   226  	OneDriveAccountType                   RemoteServerOneDriveAccountTypeEnum     `url:"one_drive_account_type,omitempty" required:"false" json:"one_drive_account_type,omitempty" path:"one_drive_account_type"`
   227  	AzureBlobStorageAccount               string                                  `url:"azure_blob_storage_account,omitempty" required:"false" json:"azure_blob_storage_account,omitempty" path:"azure_blob_storage_account"`
   228  	AzureBlobStorageContainer             string                                  `url:"azure_blob_storage_container,omitempty" required:"false" json:"azure_blob_storage_container,omitempty" path:"azure_blob_storage_container"`
   229  	AzureBlobStorageHierarchicalNamespace *bool                                   `url:"azure_blob_storage_hierarchical_namespace,omitempty" required:"false" json:"azure_blob_storage_hierarchical_namespace,omitempty" path:"azure_blob_storage_hierarchical_namespace"`
   230  	AzureBlobStorageSasToken              string                                  `url:"azure_blob_storage_sas_token,omitempty" required:"false" json:"azure_blob_storage_sas_token,omitempty" path:"azure_blob_storage_sas_token"`
   231  	AzureFilesStorageAccount              string                                  `url:"azure_files_storage_account,omitempty" required:"false" json:"azure_files_storage_account,omitempty" path:"azure_files_storage_account"`
   232  	AzureFilesStorageShareName            string                                  `url:"azure_files_storage_share_name,omitempty" required:"false" json:"azure_files_storage_share_name,omitempty" path:"azure_files_storage_share_name"`
   233  	S3CompatibleBucket                    string                                  `url:"s3_compatible_bucket,omitempty" required:"false" json:"s3_compatible_bucket,omitempty" path:"s3_compatible_bucket"`
   234  	S3CompatibleEndpoint                  string                                  `url:"s3_compatible_endpoint,omitempty" required:"false" json:"s3_compatible_endpoint,omitempty" path:"s3_compatible_endpoint"`
   235  	S3CompatibleRegion                    string                                  `url:"s3_compatible_region,omitempty" required:"false" json:"s3_compatible_region,omitempty" path:"s3_compatible_region"`
   236  	EnableDedicatedIps                    *bool                                   `url:"enable_dedicated_ips,omitempty" required:"false" json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips"`
   237  	S3CompatibleAccessKey                 string                                  `url:"s3_compatible_access_key,omitempty" required:"false" json:"s3_compatible_access_key,omitempty" path:"s3_compatible_access_key"`
   238  	S3CompatibleSecretKey                 string                                  `url:"s3_compatible_secret_key,omitempty" required:"false" json:"s3_compatible_secret_key,omitempty" path:"s3_compatible_secret_key"`
   239  	FilesAgentRoot                        string                                  `url:"files_agent_root,omitempty" required:"false" json:"files_agent_root,omitempty" path:"files_agent_root"`
   240  	FilesAgentPermissionSet               RemoteServerFilesAgentPermissionSetEnum `url:"files_agent_permission_set,omitempty" required:"false" json:"files_agent_permission_set,omitempty" path:"files_agent_permission_set"`
   241  	FilesAgentVersion                     string                                  `url:"files_agent_version,omitempty" required:"false" json:"files_agent_version,omitempty" path:"files_agent_version"`
   242  	FilebaseAccessKey                     string                                  `url:"filebase_access_key,omitempty" required:"false" json:"filebase_access_key,omitempty" path:"filebase_access_key"`
   243  	FilebaseSecretKey                     string                                  `url:"filebase_secret_key,omitempty" required:"false" json:"filebase_secret_key,omitempty" path:"filebase_secret_key"`
   244  	FilebaseBucket                        string                                  `url:"filebase_bucket,omitempty" required:"false" json:"filebase_bucket,omitempty" path:"filebase_bucket"`
   245  	CloudflareAccessKey                   string                                  `url:"cloudflare_access_key,omitempty" required:"false" json:"cloudflare_access_key,omitempty" path:"cloudflare_access_key"`
   246  	CloudflareSecretKey                   string                                  `url:"cloudflare_secret_key,omitempty" required:"false" json:"cloudflare_secret_key,omitempty" path:"cloudflare_secret_key"`
   247  	CloudflareBucket                      string                                  `url:"cloudflare_bucket,omitempty" required:"false" json:"cloudflare_bucket,omitempty" path:"cloudflare_bucket"`
   248  	CloudflareEndpoint                    string                                  `url:"cloudflare_endpoint,omitempty" required:"false" json:"cloudflare_endpoint,omitempty" path:"cloudflare_endpoint"`
   249  	DropboxTeams                          *bool                                   `url:"dropbox_teams,omitempty" required:"false" json:"dropbox_teams,omitempty" path:"dropbox_teams"`
   250  	LinodeAccessKey                       string                                  `url:"linode_access_key,omitempty" required:"false" json:"linode_access_key,omitempty" path:"linode_access_key"`
   251  	LinodeSecretKey                       string                                  `url:"linode_secret_key,omitempty" required:"false" json:"linode_secret_key,omitempty" path:"linode_secret_key"`
   252  	LinodeBucket                          string                                  `url:"linode_bucket,omitempty" required:"false" json:"linode_bucket,omitempty" path:"linode_bucket"`
   253  	LinodeRegion                          string                                  `url:"linode_region,omitempty" required:"false" json:"linode_region,omitempty" path:"linode_region"`
   254  }
   255  
   256  // Post local changes, check in, and download configuration file (used by some Remote Server integrations, such as the Files.com Agent)
   257  type RemoteServerConfigurationFileParams struct {
   258  	Id            int64  `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
   259  	ApiToken      string `url:"api_token,omitempty" required:"false" json:"api_token,omitempty" path:"api_token"`
   260  	PermissionSet string `url:"permission_set,omitempty" required:"false" json:"permission_set,omitempty" path:"permission_set"`
   261  	Root          string `url:"root,omitempty" required:"false" json:"root,omitempty" path:"root"`
   262  	Hostname      string `url:"hostname,omitempty" required:"false" json:"hostname,omitempty" path:"hostname"`
   263  	Port          int64  `url:"port,omitempty" required:"false" json:"port,omitempty" path:"port"`
   264  	Status        string `url:"status,omitempty" required:"false" json:"status,omitempty" path:"status"`
   265  	ConfigVersion string `url:"config_version,omitempty" required:"false" json:"config_version,omitempty" path:"config_version"`
   266  	PrivateKey    string `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"`
   267  	PublicKey     string `url:"public_key,omitempty" required:"false" json:"public_key,omitempty" path:"public_key"`
   268  	ServerHostKey string `url:"server_host_key,omitempty" required:"false" json:"server_host_key,omitempty" path:"server_host_key"`
   269  	Subdomain     string `url:"subdomain,omitempty" required:"false" json:"subdomain,omitempty" path:"subdomain"`
   270  }
   271  
   272  type RemoteServerUpdateParams struct {
   273  	Id                                    int64                                   `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
   274  	AwsAccessKey                          string                                  `url:"aws_access_key,omitempty" required:"false" json:"aws_access_key,omitempty" path:"aws_access_key"`
   275  	AwsSecretKey                          string                                  `url:"aws_secret_key,omitempty" required:"false" json:"aws_secret_key,omitempty" path:"aws_secret_key"`
   276  	Password                              string                                  `url:"password,omitempty" required:"false" json:"password,omitempty" path:"password"`
   277  	PrivateKey                            string                                  `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"`
   278  	PrivateKeyPassphrase                  string                                  `url:"private_key_passphrase,omitempty" required:"false" json:"private_key_passphrase,omitempty" path:"private_key_passphrase"`
   279  	SslCertificate                        string                                  `url:"ssl_certificate,omitempty" required:"false" json:"ssl_certificate,omitempty" path:"ssl_certificate"`
   280  	GoogleCloudStorageCredentialsJson     string                                  `url:"google_cloud_storage_credentials_json,omitempty" required:"false" json:"google_cloud_storage_credentials_json,omitempty" path:"google_cloud_storage_credentials_json"`
   281  	WasabiAccessKey                       string                                  `url:"wasabi_access_key,omitempty" required:"false" json:"wasabi_access_key,omitempty" path:"wasabi_access_key"`
   282  	WasabiSecretKey                       string                                  `url:"wasabi_secret_key,omitempty" required:"false" json:"wasabi_secret_key,omitempty" path:"wasabi_secret_key"`
   283  	BackblazeB2KeyId                      string                                  `url:"backblaze_b2_key_id,omitempty" required:"false" json:"backblaze_b2_key_id,omitempty" path:"backblaze_b2_key_id"`
   284  	BackblazeB2ApplicationKey             string                                  `url:"backblaze_b2_application_key,omitempty" required:"false" json:"backblaze_b2_application_key,omitempty" path:"backblaze_b2_application_key"`
   285  	RackspaceApiKey                       string                                  `url:"rackspace_api_key,omitempty" required:"false" json:"rackspace_api_key,omitempty" path:"rackspace_api_key"`
   286  	ResetAuthentication                   *bool                                   `url:"reset_authentication,omitempty" required:"false" json:"reset_authentication,omitempty" path:"reset_authentication"`
   287  	AzureBlobStorageAccessKey             string                                  `url:"azure_blob_storage_access_key,omitempty" required:"false" json:"azure_blob_storage_access_key,omitempty" path:"azure_blob_storage_access_key"`
   288  	AzureFilesStorageAccessKey            string                                  `url:"azure_files_storage_access_key,omitempty" required:"false" json:"azure_files_storage_access_key,omitempty" path:"azure_files_storage_access_key"`
   289  	Hostname                              string                                  `url:"hostname,omitempty" required:"false" json:"hostname,omitempty" path:"hostname"`
   290  	Name                                  string                                  `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"`
   291  	MaxConnections                        int64                                   `url:"max_connections,omitempty" required:"false" json:"max_connections,omitempty" path:"max_connections"`
   292  	PinToSiteRegion                       *bool                                   `url:"pin_to_site_region,omitempty" required:"false" json:"pin_to_site_region,omitempty" path:"pin_to_site_region"`
   293  	Port                                  int64                                   `url:"port,omitempty" required:"false" json:"port,omitempty" path:"port"`
   294  	S3Bucket                              string                                  `url:"s3_bucket,omitempty" required:"false" json:"s3_bucket,omitempty" path:"s3_bucket"`
   295  	S3Region                              string                                  `url:"s3_region,omitempty" required:"false" json:"s3_region,omitempty" path:"s3_region"`
   296  	ServerCertificate                     RemoteServerServerCertificateEnum       `url:"server_certificate,omitempty" required:"false" json:"server_certificate,omitempty" path:"server_certificate"`
   297  	ServerHostKey                         string                                  `url:"server_host_key,omitempty" required:"false" json:"server_host_key,omitempty" path:"server_host_key"`
   298  	ServerType                            RemoteServerServerTypeEnum              `url:"server_type,omitempty" required:"false" json:"server_type,omitempty" path:"server_type"`
   299  	Ssl                                   RemoteServerSslEnum                     `url:"ssl,omitempty" required:"false" json:"ssl,omitempty" path:"ssl"`
   300  	Username                              string                                  `url:"username,omitempty" required:"false" json:"username,omitempty" path:"username"`
   301  	GoogleCloudStorageBucket              string                                  `url:"google_cloud_storage_bucket,omitempty" required:"false" json:"google_cloud_storage_bucket,omitempty" path:"google_cloud_storage_bucket"`
   302  	GoogleCloudStorageProjectId           string                                  `url:"google_cloud_storage_project_id,omitempty" required:"false" json:"google_cloud_storage_project_id,omitempty" path:"google_cloud_storage_project_id"`
   303  	BackblazeB2Bucket                     string                                  `url:"backblaze_b2_bucket,omitempty" required:"false" json:"backblaze_b2_bucket,omitempty" path:"backblaze_b2_bucket"`
   304  	BackblazeB2S3Endpoint                 string                                  `url:"backblaze_b2_s3_endpoint,omitempty" required:"false" json:"backblaze_b2_s3_endpoint,omitempty" path:"backblaze_b2_s3_endpoint"`
   305  	WasabiBucket                          string                                  `url:"wasabi_bucket,omitempty" required:"false" json:"wasabi_bucket,omitempty" path:"wasabi_bucket"`
   306  	WasabiRegion                          string                                  `url:"wasabi_region,omitempty" required:"false" json:"wasabi_region,omitempty" path:"wasabi_region"`
   307  	RackspaceUsername                     string                                  `url:"rackspace_username,omitempty" required:"false" json:"rackspace_username,omitempty" path:"rackspace_username"`
   308  	RackspaceRegion                       string                                  `url:"rackspace_region,omitempty" required:"false" json:"rackspace_region,omitempty" path:"rackspace_region"`
   309  	RackspaceContainer                    string                                  `url:"rackspace_container,omitempty" required:"false" json:"rackspace_container,omitempty" path:"rackspace_container"`
   310  	OneDriveAccountType                   RemoteServerOneDriveAccountTypeEnum     `url:"one_drive_account_type,omitempty" required:"false" json:"one_drive_account_type,omitempty" path:"one_drive_account_type"`
   311  	AzureBlobStorageAccount               string                                  `url:"azure_blob_storage_account,omitempty" required:"false" json:"azure_blob_storage_account,omitempty" path:"azure_blob_storage_account"`
   312  	AzureBlobStorageContainer             string                                  `url:"azure_blob_storage_container,omitempty" required:"false" json:"azure_blob_storage_container,omitempty" path:"azure_blob_storage_container"`
   313  	AzureBlobStorageHierarchicalNamespace *bool                                   `url:"azure_blob_storage_hierarchical_namespace,omitempty" required:"false" json:"azure_blob_storage_hierarchical_namespace,omitempty" path:"azure_blob_storage_hierarchical_namespace"`
   314  	AzureBlobStorageSasToken              string                                  `url:"azure_blob_storage_sas_token,omitempty" required:"false" json:"azure_blob_storage_sas_token,omitempty" path:"azure_blob_storage_sas_token"`
   315  	AzureFilesStorageAccount              string                                  `url:"azure_files_storage_account,omitempty" required:"false" json:"azure_files_storage_account,omitempty" path:"azure_files_storage_account"`
   316  	AzureFilesStorageShareName            string                                  `url:"azure_files_storage_share_name,omitempty" required:"false" json:"azure_files_storage_share_name,omitempty" path:"azure_files_storage_share_name"`
   317  	S3CompatibleBucket                    string                                  `url:"s3_compatible_bucket,omitempty" required:"false" json:"s3_compatible_bucket,omitempty" path:"s3_compatible_bucket"`
   318  	S3CompatibleEndpoint                  string                                  `url:"s3_compatible_endpoint,omitempty" required:"false" json:"s3_compatible_endpoint,omitempty" path:"s3_compatible_endpoint"`
   319  	S3CompatibleRegion                    string                                  `url:"s3_compatible_region,omitempty" required:"false" json:"s3_compatible_region,omitempty" path:"s3_compatible_region"`
   320  	EnableDedicatedIps                    *bool                                   `url:"enable_dedicated_ips,omitempty" required:"false" json:"enable_dedicated_ips,omitempty" path:"enable_dedicated_ips"`
   321  	S3CompatibleAccessKey                 string                                  `url:"s3_compatible_access_key,omitempty" required:"false" json:"s3_compatible_access_key,omitempty" path:"s3_compatible_access_key"`
   322  	S3CompatibleSecretKey                 string                                  `url:"s3_compatible_secret_key,omitempty" required:"false" json:"s3_compatible_secret_key,omitempty" path:"s3_compatible_secret_key"`
   323  	FilesAgentRoot                        string                                  `url:"files_agent_root,omitempty" required:"false" json:"files_agent_root,omitempty" path:"files_agent_root"`
   324  	FilesAgentPermissionSet               RemoteServerFilesAgentPermissionSetEnum `url:"files_agent_permission_set,omitempty" required:"false" json:"files_agent_permission_set,omitempty" path:"files_agent_permission_set"`
   325  	FilesAgentVersion                     string                                  `url:"files_agent_version,omitempty" required:"false" json:"files_agent_version,omitempty" path:"files_agent_version"`
   326  	FilebaseAccessKey                     string                                  `url:"filebase_access_key,omitempty" required:"false" json:"filebase_access_key,omitempty" path:"filebase_access_key"`
   327  	FilebaseSecretKey                     string                                  `url:"filebase_secret_key,omitempty" required:"false" json:"filebase_secret_key,omitempty" path:"filebase_secret_key"`
   328  	FilebaseBucket                        string                                  `url:"filebase_bucket,omitempty" required:"false" json:"filebase_bucket,omitempty" path:"filebase_bucket"`
   329  	CloudflareAccessKey                   string                                  `url:"cloudflare_access_key,omitempty" required:"false" json:"cloudflare_access_key,omitempty" path:"cloudflare_access_key"`
   330  	CloudflareSecretKey                   string                                  `url:"cloudflare_secret_key,omitempty" required:"false" json:"cloudflare_secret_key,omitempty" path:"cloudflare_secret_key"`
   331  	CloudflareBucket                      string                                  `url:"cloudflare_bucket,omitempty" required:"false" json:"cloudflare_bucket,omitempty" path:"cloudflare_bucket"`
   332  	CloudflareEndpoint                    string                                  `url:"cloudflare_endpoint,omitempty" required:"false" json:"cloudflare_endpoint,omitempty" path:"cloudflare_endpoint"`
   333  	DropboxTeams                          *bool                                   `url:"dropbox_teams,omitempty" required:"false" json:"dropbox_teams,omitempty" path:"dropbox_teams"`
   334  	LinodeAccessKey                       string                                  `url:"linode_access_key,omitempty" required:"false" json:"linode_access_key,omitempty" path:"linode_access_key"`
   335  	LinodeSecretKey                       string                                  `url:"linode_secret_key,omitempty" required:"false" json:"linode_secret_key,omitempty" path:"linode_secret_key"`
   336  	LinodeBucket                          string                                  `url:"linode_bucket,omitempty" required:"false" json:"linode_bucket,omitempty" path:"linode_bucket"`
   337  	LinodeRegion                          string                                  `url:"linode_region,omitempty" required:"false" json:"linode_region,omitempty" path:"linode_region"`
   338  }
   339  
   340  type RemoteServerDeleteParams struct {
   341  	Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"`
   342  }
   343  
   344  func (r *RemoteServer) UnmarshalJSON(data []byte) error {
   345  	type remoteServer RemoteServer
   346  	var v remoteServer
   347  	if err := json.Unmarshal(data, &v); err != nil {
   348  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{})
   349  	}
   350  
   351  	*r = RemoteServer(v)
   352  	return nil
   353  }
   354  
   355  func (r *RemoteServerCollection) UnmarshalJSON(data []byte) error {
   356  	type remoteServers RemoteServerCollection
   357  	var v remoteServers
   358  	if err := json.Unmarshal(data, &v); err != nil {
   359  		return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{})
   360  	}
   361  
   362  	*r = RemoteServerCollection(v)
   363  	return nil
   364  }
   365  
   366  func (r *RemoteServerCollection) ToSlice() *[]interface{} {
   367  	ret := make([]interface{}, len(*r))
   368  	for i, v := range *r {
   369  		ret[i] = v
   370  	}
   371  
   372  	return &ret
   373  }