1<?php 2 3/** 4 * LICENSE: The MIT License (the "License") 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * https://github.com/azure/azure-storage-php/LICENSE 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 * 15 * PHP version 5 16 * 17 * @category Microsoft 18 * @package MicrosoftAzure\Storage\Common\Internal 19 * @author Azure Storage PHP SDK <dmsh@microsoft.com> 20 * @copyright 2016 Microsoft Corporation 21 * @license https://github.com/azure/azure-storage-php/LICENSE 22 * @link https://github.com/azure/azure-storage-php 23 */ 24 25namespace MicrosoftAzure\Storage\Common\Internal; 26 27/** 28 * Project resources. 29 * 30 * @ignore 31 * @category Microsoft 32 * @package MicrosoftAzure\Storage\Common\Internal 33 * @author Azure Storage PHP SDK <dmsh@microsoft.com> 34 * @copyright 2016 Microsoft Corporation 35 * @license https://github.com/azure/azure-storage-php/LICENSE 36 * @link https://github.com/azure/azure-storage-php 37 */ 38class Resources 39{ 40 // @codingStandardsIgnoreStart 41 42 // Connection strings 43 const USE_DEVELOPMENT_STORAGE_NAME = 'UseDevelopmentStorage'; 44 const DEVELOPMENT_STORAGE_PROXY_URI_NAME = 'DevelopmentStorageProxyUri'; 45 const DEFAULT_ENDPOINTS_PROTOCOL_NAME = 'DefaultEndpointsProtocol'; 46 const ACCOUNT_NAME_NAME = 'AccountName'; 47 const ACCOUNT_KEY_NAME = 'AccountKey'; 48 const SAS_TOKEN_NAME = 'SharedAccessSignature'; 49 const BLOB_ENDPOINT_NAME = 'BlobEndpoint'; 50 const QUEUE_ENDPOINT_NAME = 'QueueEndpoint'; 51 const TABLE_ENDPOINT_NAME = 'TableEndpoint'; 52 const FILE_ENDPOINT_NAME = 'FileEndpoint'; 53 const SHARED_ACCESS_SIGNATURE_NAME = 'SharedAccessSignature'; 54 const ENDPOINT_SUFFIX_NAME = 'EndpointSuffix'; 55 const DEFAULT_ENDPOINT_SUFFIX = 'core.windows.net'; 56 const DEV_STORE_NAME = 'devstoreaccount1'; 57 const DEV_STORE_KEY = 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='; 58 const BLOB_BASE_DNS_NAME = 'blob.core.windows.net'; 59 const BLOB_DNS_PREFIX = 'blob.'; 60 const QUEUE_BASE_DNS_NAME = 'queue.core.windows.net'; 61 const QUEUE_DNS_PREFIX = 'queue.'; 62 const TABLE_BASE_DNS_NAME = 'table.core.windows.net'; 63 const TABLE_DNS_PREFIX = 'table.'; 64 const FILE_BASE_DNS_NAME = 'file.core.windows.net'; 65 const FILE_DNS_PREFIX = 'file.'; 66 const DEV_STORE_CONNECTION_STRING = 'BlobEndpoint=127.0.0.1:10000;QueueEndpoint=127.0.0.1:10001;TableEndpoint=127.0.0.1:10002;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='; 67 const SUBSCRIPTION_ID_NAME = 'SubscriptionID'; 68 const CERTIFICATE_PATH_NAME = 'CertificatePath'; 69 const SECONDARY_STRING = '-secondary'; 70 const PRIMARY_STRING = '-primary'; 71 72 // Messages 73 const INVALID_FUNCTION_NAME = 'The class %s does not have a function named %s.'; 74 const INVALID_TYPE_MSG = 'The provided variable should be of type: '; 75 const INVALID_META_MSG = 'Metadata cannot contain newline characters.'; 76 const AZURE_ERROR_MSG = "Fail:\nCode: %s\nValue: %s\ndetails (if any): %s."; 77 const NOT_IMPLEMENTED_MSG = 'This method is not implemented.'; 78 const NULL_OR_EMPTY_MSG = "'%s' can't be NULL or empty."; 79 const NULL_MSG = "'%s' can't be NULL."; 80 const INVALID_URL_MSG = 'Provided URL is invalid.'; 81 const INVALID_HT_MSG = 'The header type provided is invalid.'; 82 const INVALID_VERSION_MSG = 'Server does not support any known protocol versions.'; 83 const INVALID_EXC_OBJ_MSG = 'Exception object type should be ServiceException.'; 84 const INVALID_PARAM_MSG = "The provided variable '%s' should be of type '%s'"; 85 const INVALID_VALUE_MSG = "The provided variable '%s' has unexpected value. Reason: '%s'"; 86 const INVALID_STRING_LENGTH = "The provided variable '%s' should be of %s characters long"; 87 const INVALID_SVC_PROP_MSG = 'The provided service properties is invalid.'; 88 const UNKNOWN_SRILZER_MSG = 'The provided serializer type is unknown'; 89 const INVALID_CREATE_SERVICE_OPTIONS_MSG = 'Must provide valid location or affinity group.'; 90 const INVALID_UPDATE_SERVICE_OPTIONS_MSG = 'Must provide either description or label.'; 91 const INVALID_CONFIG_MSG = 'Config object must be of type Configuration'; 92 const INVALID_CONFIG_HOSTNAME = "The provided hostname '%s' is invalid."; 93 const INVALID_CONFIG_URI = "The provided URI '%s' is invalid. It has to pass the check 'filter_var(<user_uri>, FILTER_VALIDATE_URL)'."; 94 const INVALID_CONFIG_VALUE = "The provided config value '%s' does not belong to the valid values subset:\n%s"; 95 const INVALID_ACCOUNT_KEY_FORMAT = "The provided account key '%s' is not a valid base64 string. It has to pass the check 'base64_decode(<user_account_key>, true)'."; 96 const MISSING_CONNECTION_STRING_SETTINGS = "The provided connection string '%s' does not have complete configuration settings."; 97 const INVALID_CONNECTION_STRING_SETTING_KEY = "The setting key '%s' is not found in the expected configuration setting keys:\n%s"; 98 const INVALID_CERTIFICATE_PATH = "The provided certificate path '%s' is invalid."; 99 const INSTANCE_TYPE_VALIDATION_MSG = 'The type of %s is %s but is expected to be %s.'; 100 const INVALID_MESSAGE_OBJECT_TO_SERIALIZE = 'The given object does not have required methods, so it could not be serialized.'; 101 const MISSING_CONNECTION_STRING_CHAR = "Missing %s character"; 102 const ERROR_PARSING_STRING = "'%s' at position %d."; 103 const INVALID_CONNECTION_STRING = "Argument '%s' is not a valid connection string: '%s'"; 104 const ERROR_CONNECTION_STRING_MISSING_KEY = 'Missing key name'; 105 const ERROR_CONNECTION_STRING_EMPTY_KEY = 'Empty key name'; 106 const ERROR_CONNECTION_STRING_MISSING_CHARACTER = "Missing %s character"; 107 const ERROR_EMPTY_SETTINGS = 'No keys were found in the connection string'; 108 const MISSING_LOCK_LOCATION_MSG = 'The lock location of the brokered message is missing.'; 109 const INVALID_SAS_TOKEN = 'The shared access signatures (SAS) provided is not valid \'%s\''; 110 const INVALID_SLOT = "The provided deployment slot '%s' is not valid. Only 'staging' and 'production' are accepted."; 111 const INVALID_DEPLOYMENT_LOCATOR_MSG = 'A slot or deployment name must be provided.'; 112 const INVALID_CHANGE_MODE_MSG = "The change mode must be 'Auto' or 'Manual'. Use Mode class constants for that purpose."; 113 const INVALID_DEPLOYMENT_STATUS_MSG = "The change mode must be 'Running' or 'Suspended'. Use DeploymentStatus class constants for that purpose."; 114 const ERROR_OAUTH_GET_ACCESS_TOKEN = 'Unable to get oauth access token for endpoint \'%s\', account name \'%s\''; 115 const ERROR_OAUTH_SERVICE_MISSING = 'OAuth service missing for account name \'%s\''; 116 const ERROR_METHOD_NOT_FOUND = 'Method \'%s\' not found in object class \'%s\''; 117 const ERROR_INVALID_DATE_STRING = 'Parameter \'%s\' is not a date formatted string \'%s\''; 118 const ERROR_FILE_COULD_NOT_BE_OPENED = 'Error: file with given path could not be opened or created.'; 119 const INVALID_PARAM_GENERAL = 'The provided parameter \'%s\' is invalid'; 120 const INVALID_NEGATIVE_PARAM = 'The provided parameter \'%s\' should be positive number.'; 121 const SIGNED_SERVICE_INVALID_VALIDATION_MSG = 'The signed service should only be a combination of the letters b(lob) q(ueue) t(able) or f(ile).'; 122 const SIGNED_RESOURCE_TYPE_INVALID_VALIDATION_MSG = 'The signed resource type should only be a combination of the letters s(ervice) c(container) or o(bject).'; 123 const STRING_NOT_WITH_GIVEN_COMBINATION = 'The string should only be a combination of the letters %s.'; 124 const SIGNED_PROTOCOL_INVALID_VALIDATION_MSG = 'The signed protocol is invalid: possible values are https or https,http.'; 125 const ERROR_RESOURCE_TYPE_NOT_SUPPORTED = 'The given resource type cannot be recognized or is not supported.'; 126 const ERROR_TOO_MANY_SIGNED_IDENTIFIERS = 'There can be at most 5 signed identifiers at the same time.'; 127 const INVALID_PERMISSION_PROVIDED = 'Invalid permission provided, the permission of resource type \'%s\' can only be of \'%s\''; 128 const INVALID_RESOURCE_TYPE = 'Provided resource type is invalid.'; 129 const ERROR_KEY_NOT_EXIST = "The key '%s' does not exist in the given array."; 130 const RESOURCE_RANGE_LENGTH_MUST_SET = "The start and end/length of the range must be set."; 131 const INVALID_ACCEPT_CONTENT_TYPE = "The given accept content type is not valid."; 132 const ERROR_CANNOT_PARSE_XML = "Cannot parse XML, reasons: %s"; 133 const INVALID_SCHEME = 'HTTP scheme can only be string \'http\' or \'https\'.'; 134 const AAD_TOKEN_MUST_START_WITH_BEARER = 'AAD token is invalid, please make sure that it has format \'Bearer ################\''; 135 136 // HTTP Headers 137 const X_MS_HEADER_PREFIX = 'x-ms-'; 138 const X_MS_META_HEADER_PREFIX = 'x-ms-meta-'; 139 const X_MS_VERSION = 'x-ms-version'; 140 const X_MS_DATE = 'x-ms-date'; 141 const X_MS_COPY_ACTION = 'x-ms-copy-action'; 142 const X_MS_COPY_ID = 'x-ms-copy-id'; 143 const X_MS_COPY_COMPLETION_TIME = 'x-ms-copy-completion-time'; 144 const X_MS_COPY_STATUS = 'x-ms-copy-status'; 145 const X_MS_COPY_STATUS_DESCRIPTION = 'x-ms-copy-status-description'; 146 const X_MS_COPY_SOURCE = 'x-ms-copy-source'; 147 const X_MS_COPY_PROGRESS = 'x-ms-copy-progress'; 148 const X_MS_RANGE = 'x-ms-range'; 149 const X_MS_RANGE_GET_CONTENT_MD5 = 'x-ms-range-get-content-md5'; 150 const X_MS_DELETE_SNAPSHOTS = 'x-ms-delete-snapshots'; 151 const X_MS_SNAPSHOT = 'x-ms-snapshot'; 152 const X_MS_SOURCE_IF_MODIFIED_SINCE = 'x-ms-source-if-modified-since'; 153 const X_MS_SOURCE_IF_UNMODIFIED_SINCE = 'x-ms-source-if-unmodified-since'; 154 const X_MS_SOURCE_IF_MATCH = 'x-ms-source-if-match'; 155 const X_MS_SOURCE_IF_NONE_MATCH = 'x-ms-source-if-none-match'; 156 const X_MS_SOURCE_LEASE_ID = 'x-ms-source-lease-id'; 157 const X_MS_CONTINUATION_NEXTTABLENAME = 'x-ms-continuation-nexttablename'; 158 const X_MS_CONTINUATION_NEXTPARTITIONKEY = 'x-ms-continuation-nextpartitionkey'; 159 const X_MS_CONTINUATION_NEXTROWKEY = 'x-ms-continuation-nextrowkey'; 160 const X_MS_REQUEST_ID = 'x-ms-request-id'; 161 const X_MS_CLIENT_REQUEST_ID = 'x-ms-client-request-id'; 162 const X_MS_CONTINUATION_LOCATION_MODE = 'x-ms-continuation-location-mode'; 163 const X_MS_TYPE = 'x-ms-type'; 164 const X_MS_CONTENT_LENGTH = 'x-ms-content-length'; 165 const X_MS_CACHE_CONTROL = 'x-ms-cache-control'; 166 const X_MS_CONTENT_TYPE = 'x-ms-content-type'; 167 const X_MS_CONTENT_MD5 = 'x-ms-content-md5'; 168 const X_MS_CONTENT_ENCODING = 'x-ms-content-encoding'; 169 const X_MS_CONTENT_LANGUAGE = 'x-ms-content-language'; 170 const X_MS_CONTENT_DISPOSITION = 'x-ms-content-disposition'; 171 const X_MS_WRITE = 'x-ms-write'; 172 const ETAG = 'etag'; 173 const LAST_MODIFIED = 'last-modified'; 174 const DATE = 'date'; 175 const AUTHENTICATION = 'authorization'; 176 const WRAP_AUTHORIZATION = 'WRAP access_token="%s"'; 177 const CONTENT_ENCODING = 'content-encoding'; 178 const CONTENT_LANGUAGE = 'content-language'; 179 const CONTENT_LENGTH = 'content-length'; 180 const CONTENT_LENGTH_NO_SPACE = 'contentlength'; 181 const CONTENT_MD5 = 'content-md5'; 182 const CONTENT_TYPE_LOWER_CASE = 'content-type'; 183 const CONTENT_TYPE = 'Content-Type'; 184 const CONTENT_ID = 'content-id'; 185 const CONTENT_RANGE = 'content-range'; 186 const CACHE_CONTROL = 'cache-control'; 187 const CONTENT_DISPOSITION = 'content-disposition'; 188 const IF_MODIFIED_SINCE = 'if-modified-since'; 189 const IF_MATCH = 'if-match'; 190 const IF_NONE_MATCH = 'if-none-match'; 191 const IF_UNMODIFIED_SINCE = 'if-unmodified-since'; 192 const RANGE = 'range'; 193 const DATA_SERVICE_VERSION = 'dataserviceversion'; 194 const MAX_DATA_SERVICE_VERSION = 'maxdataserviceversion'; 195 const ACCEPT_HEADER = 'accept'; 196 const ACCEPT_CHARSET = 'accept-charset'; 197 const USER_AGENT = 'User-Agent'; 198 const PREFER = 'Prefer'; 199 200 // HTTP Methods 201 const HTTP_GET = 'GET'; 202 const HTTP_PUT = 'PUT'; 203 const HTTP_POST = 'POST'; 204 const HTTP_HEAD = 'HEAD'; 205 const HTTP_DELETE = 'DELETE'; 206 const HTTP_MERGE = 'MERGE'; 207 208 // Misc 209 const EMPTY_STRING = ''; 210 const SEPARATOR = ','; 211 const AZURE_DATE_FORMAT = 'D, d M Y H:i:s T'; 212 const TIMESTAMP_FORMAT = 'Y-m-d H:i:s'; 213 const EMULATED = 'EMULATED'; 214 const EMULATOR_BLOB_URI = '127.0.0.1:10000'; 215 const EMULATOR_QUEUE_URI = '127.0.0.1:10001'; 216 const EMULATOR_TABLE_URI = '127.0.0.1:10002'; 217 const ASTERISK = '*'; 218 const SERVICE_MANAGEMENT_URL = 'https://management.core.windows.net'; 219 const HTTP_SCHEME = 'http'; 220 const HTTPS_SCHEME = 'https'; 221 const SETTING_NAME = 'SettingName'; 222 const SETTING_CONSTRAINT = 'SettingConstraint'; 223 const DEV_STORE_URI = 'http://127.0.0.1'; 224 const SERVICE_URI_FORMAT = "%s://%s.%s"; 225 const WRAP_ENDPOINT_URI_FORMAT = "https://%s-sb.accesscontrol.windows.net/WRAPv0.9"; 226 const MB_IN_BYTES_1 = 1048576; 227 const MB_IN_BYTES_4 = 4194304; 228 const MB_IN_BYTES_32 = 33554432; 229 const MB_IN_BYTES_64 = 67108864; 230 const MB_IN_BYTES_128 = 134217728; 231 const MB_IN_BYTES_256 = 268435456; 232 const MB_IN_BYTES_100 = 104857600; 233 const GB_IN_BYTES = 1073741824; 234 const GB_IN_BYTES_200 = 214748364800; 235 const MAX_BLOB_BLOCKS = 50000; 236 const MAX_BLOCK_BLOB_SIZE = 5242880000000; 237 const RETURN_CONTENT = 'return-content'; 238 const NUMBER_OF_CONCURRENCY = 25;//Guzzle's default value 239 const DEFAULT_NUMBER_OF_RETRIES = 3; 240 const DEFAULT_RETRY_INTERVAL = 1000;//Milliseconds 241 const BEARER = 'Bearer '; 242 243 // Header values 244 const COMMON_SDK_VERSION = '1.5.1'; 245 const INT32_MAX = 2147483647; 246 const INT32_MIN = -2147483648; 247 248 // Query parameter names 249 const QP_ENTRIES = 'Entries'; 250 const QP_PREFIX = 'Prefix'; 251 const QP_PREFIX_LOWERCASE = 'prefix'; 252 const QP_MAX_RESULTS = 'MaxResults'; 253 const QP_MAX_RESULTS_LOWERCASE = 'maxresults'; 254 const QP_MARKER = 'Marker'; 255 const QP_MARKER_LOWERCASE = 'marker'; 256 const QP_METADATA = 'Metadata'; 257 const QP_NEXT_MARKER = 'NextMarker'; 258 const QP_COMP = 'comp'; 259 const QP_INCLUDE = 'include'; 260 const QP_TIMEOUT = 'timeout'; 261 const QP_REST_TYPE = 'restype'; 262 const QP_SNAPSHOT = 'snapshot'; 263 const QP_COPY_ID = 'copyid'; 264 const QP_NAME = 'Name'; 265 const QP_PROPERTIES = 'Properties'; 266 const QP_LAST_MODIFIED = 'Last-Modified'; 267 const QP_ETAG = 'Etag'; 268 const QP_QUOTA = 'Quota'; 269 const QP_CONTENT_LENGTH = 'Content-Length'; 270 271 // Request body content types 272 const URL_ENCODED_CONTENT_TYPE = 'application/x-www-form-urlencoded'; 273 const BINARY_FILE_TYPE = 'application/octet-stream'; 274 const HTTP_TYPE = 'application/http'; 275 const MULTIPART_MIXED_TYPE = 'multipart/mixed'; 276 277 // Common used XML tags 278 const XTAG_ATTRIBUTES = '@attributes'; 279 const XTAG_NAMESPACE = '@namespace'; 280 const XTAG_LABEL = 'Label'; 281 const XTAG_NAME = 'Name'; 282 const XTAG_DESCRIPTION = 'Description'; 283 const XTAG_LOCATION = 'Location'; 284 const XTAG_AFFINITY_GROUP = 'AffinityGroup'; 285 const XTAG_HOSTED_SERVICES = 'HostedServices'; 286 const XTAG_STORAGE_SERVICES = 'StorageServices'; 287 const XTAG_STORAGE_SERVICE = 'StorageService'; 288 const XTAG_DISPLAY_NAME = 'DisplayName'; 289 const XTAG_SERVICE_NAME = 'ServiceName'; 290 const XTAG_URL = 'Url'; 291 const XTAG_ID = 'ID'; 292 const XTAG_STATUS = 'Status'; 293 const XTAG_HTTP_STATUS_CODE = 'HttpStatusCode'; 294 const XTAG_CODE = 'Code'; 295 const XTAG_MESSAGE = 'Message'; 296 const XTAG_STORAGE_SERVICE_PROPERTIES = 'StorageServiceProperties'; 297 const XTAG_SERVICE_ENDPOINT = 'ServiceEndpoint'; 298 const XTAG_ENDPOINT = 'Endpoint'; 299 const XTAG_ENDPOINTS = 'Endpoints'; 300 const XTAG_PRIMARY = 'Primary'; 301 const XTAG_SECONDARY = 'Secondary'; 302 const XTAG_KEY_TYPE = 'KeyType'; 303 const XTAG_STORAGE_SERVICE_KEYS = 'StorageServiceKeys'; 304 const XTAG_ERROR = 'Error'; 305 const XTAG_HOSTED_SERVICE = 'HostedService'; 306 const XTAG_HOSTED_SERVICE_PROPERTIES = 'HostedServiceProperties'; 307 const XTAG_CREATE_HOSTED_SERVICE = 'CreateHostedService'; 308 const XTAG_CREATE_STORAGE_SERVICE_INPUT = 'CreateStorageServiceInput'; 309 const XTAG_UPDATE_STORAGE_SERVICE_INPUT = 'UpdateStorageServiceInput'; 310 const XTAG_CREATE_AFFINITY_GROUP = 'CreateAffinityGroup'; 311 const XTAG_UPDATE_AFFINITY_GROUP = 'UpdateAffinityGroup'; 312 const XTAG_UPDATE_HOSTED_SERVICE = 'UpdateHostedService'; 313 const XTAG_PACKAGE_URL = 'PackageUrl'; 314 const XTAG_CONFIGURATION = 'Configuration'; 315 const XTAG_START_DEPLOYMENT = 'StartDeployment'; 316 const XTAG_TREAT_WARNINGS_AS_ERROR = 'TreatWarningsAsError'; 317 const XTAG_CREATE_DEPLOYMENT = 'CreateDeployment'; 318 const XTAG_DEPLOYMENT_SLOT = 'DeploymentSlot'; 319 const XTAG_PRIVATE_ID = 'PrivateID'; 320 const XTAG_ROLE_INSTANCE_LIST = 'RoleInstanceList'; 321 const XTAG_UPGRADE_DOMAIN_COUNT = 'UpgradeDomainCount'; 322 const XTAG_ROLE_LIST = 'RoleList'; 323 const XTAG_SDK_VERSION = 'SdkVersion'; 324 const XTAG_INPUT_ENDPOINT_LIST = 'InputEndpointList'; 325 const XTAG_LOCKED = 'Locked'; 326 const XTAG_ROLLBACK_ALLOWED = 'RollbackAllowed'; 327 const XTAG_UPGRADE_STATUS = 'UpgradeStatus'; 328 const XTAG_UPGRADE_TYPE = 'UpgradeType'; 329 const XTAG_CURRENT_UPGRADE_DOMAIN_STATE = 'CurrentUpgradeDomainState'; 330 const XTAG_CURRENT_UPGRADE_DOMAIN = 'CurrentUpgradeDomain'; 331 const XTAG_ROLE_NAME = 'RoleName'; 332 const XTAG_INSTANCE_NAME = 'InstanceName'; 333 const XTAG_INSTANCE_STATUS = 'InstanceStatus'; 334 const XTAG_INSTANCE_UPGRADE_DOMAIN = 'InstanceUpgradeDomain'; 335 const XTAG_INSTANCE_FAULT_DOMAIN = 'InstanceFaultDomain'; 336 const XTAG_INSTANCE_SIZE = 'InstanceSize'; 337 const XTAG_INSTANCE_STATE_DETAILS = 'InstanceStateDetails'; 338 const XTAG_INSTANCE_ERROR_CODE = 'InstanceErrorCode'; 339 const XTAG_OS_VERSION = 'OsVersion'; 340 const XTAG_ROLE_INSTANCE = 'RoleInstance'; 341 const XTAG_ROLE = 'Role'; 342 const XTAG_INPUT_ENDPOINT = 'InputEndpoint'; 343 const XTAG_VIP = 'Vip'; 344 const XTAG_PORT = 'Port'; 345 const XTAG_DEPLOYMENT = 'Deployment'; 346 const XTAG_DEPLOYMENTS = 'Deployments'; 347 const XTAG_REGENERATE_KEYS = 'RegenerateKeys'; 348 const XTAG_SWAP = 'Swap'; 349 const XTAG_PRODUCTION = 'Production'; 350 const XTAG_SOURCE_DEPLOYMENT = 'SourceDeployment'; 351 const XTAG_CHANGE_CONFIGURATION = 'ChangeConfiguration'; 352 const XTAG_MODE = 'Mode'; 353 const XTAG_UPDATE_DEPLOYMENT_STATUS = 'UpdateDeploymentStatus'; 354 const XTAG_ROLE_TO_UPGRADE = 'RoleToUpgrade'; 355 const XTAG_FORCE = 'Force'; 356 const XTAG_UPGRADE_DEPLOYMENT = 'UpgradeDeployment'; 357 const XTAG_UPGRADE_DOMAIN = 'UpgradeDomain'; 358 const XTAG_WALK_UPGRADE_DOMAIN = 'WalkUpgradeDomain'; 359 const XTAG_ROLLBACK_UPDATE_OR_UPGRADE = 'RollbackUpdateOrUpgrade'; 360 const XTAG_CONTAINER_NAME = 'ContainerName'; 361 const XTAG_ACCOUNT_NAME = 'AccountName'; 362 const XTAG_LOGGING = 'Logging'; 363 const XTAG_HOUR_METRICS = 'HourMetrics'; 364 const XTAG_MINUTE_METRICS = 'MinuteMetrics'; 365 const XTAG_CORS = 'Cors'; 366 const XTAG_CORS_RULE = 'CorsRule'; 367 const XTAG_ALLOWED_ORIGINS = 'AllowedOrigins'; 368 const XTAG_ALLOWED_METHODS = 'AllowedMethods'; 369 const XTAG_ALLOWED_HEADERS = 'AllowedHeaders'; 370 const XTAG_EXPOSED_HEADERS = 'ExposedHeaders'; 371 const XTAG_MAX_AGE_IN_SECONDS = 'MaxAgeInSeconds'; 372 const XTAG_SIGNED_IDENTIFIERS = 'SignedIdentifiers'; 373 const XTAG_SIGNED_IDENTIFIER = 'SignedIdentifier'; 374 const XTAG_ACCESS_POLICY = 'AccessPolicy'; 375 const XTAG_SIGNED_START = 'Start'; 376 const XTAG_SIGNED_EXPIRY = 'Expiry'; 377 const XTAG_SIGNED_PERMISSION = 'Permission'; 378 const XTAG_SIGNED_ID = 'Id'; 379 const XTAG_DEFAULT_SERVICE_VERSION = 'DefaultServiceVersion'; 380 const XTAG_GEO_REPLICATION = 'GeoReplication'; 381 const XTAG_LAST_SYNC_TIME = 'LastSyncTime'; 382 const XTAG_PAGE_RANGE = 'PageRange'; 383 const XTAG_CLEAR_RANGE = 'ClearRange'; 384 const XTAG_RANGE_START = 'Start'; 385 const XTAG_RANGE_END = 'End'; 386 387 // PHP URL Keys 388 const PHP_URL_SCHEME = 'scheme'; 389 const PHP_URL_HOST = 'host'; 390 const PHP_URL_PORT = 'port'; 391 const PHP_URL_USER = 'user'; 392 const PHP_URL_PASS = 'pass'; 393 const PHP_URL_PATH = 'path'; 394 const PHP_URL_QUERY = 'query'; 395 const PHP_URL_FRAGMENT = 'fragment'; 396 397 // Status Codes 398 const STATUS_OK = 200; 399 const STATUS_CREATED = 201; 400 const STATUS_ACCEPTED = 202; 401 const STATUS_NO_CONTENT = 204; 402 const STATUS_PARTIAL_CONTENT = 206; 403 const STATUS_MOVED_PERMANENTLY = 301; 404 405 // Resource Types 406 const RESOURCE_TYPE_BLOB = 'b'; 407 const RESOURCE_TYPE_CONTAINER = 'c'; 408 const RESOURCE_TYPE_QUEUE = 'q'; 409 const RESOURCE_TYPE_TABLE = 't'; 410 const RESOURCE_TYPE_SHARE = 's'; 411 const RESOURCE_TYPE_FILE = 'f'; 412 413 // Request Options String 414 const ROS_LOCATION_MODE = 'location_mode'; 415 const ROS_SECONDARY_URI = 'secondary_uri'; 416 const ROS_PRIMARY_URI = 'primary_uri'; 417 const ROS_DECODE_CONTENT = 'decode_content'; 418 const ROS_STREAM = 'stream'; 419 const ROS_HANDLER = 'requestHandler'; 420 421 // @codingStandardsIgnoreEnd 422} 423