1package documentdb 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// 6// Code generated by Microsoft (R) AutoRest Code Generator. 7// Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9import ( 10 "context" 11 "encoding/json" 12 "github.com/Azure/go-autorest/autorest" 13 "github.com/Azure/go-autorest/autorest/azure" 14 "github.com/Azure/go-autorest/autorest/date" 15 "github.com/Azure/go-autorest/autorest/to" 16 "github.com/Azure/go-autorest/tracing" 17 "net/http" 18) 19 20// The package's fully qualified name. 21const fqdn = "github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2021-06-15/documentdb" 22 23// AnalyticalStorageConfiguration analytical storage specific properties. 24type AnalyticalStorageConfiguration struct { 25 // SchemaType - Possible values include: 'AnalyticalStorageSchemaTypeWellDefined', 'AnalyticalStorageSchemaTypeFullFidelity' 26 SchemaType AnalyticalStorageSchemaType `json:"schemaType,omitempty"` 27} 28 29// APIProperties ... 30type APIProperties struct { 31 // ServerVersion - Describes the ServerVersion of an a MongoDB account. Possible values include: 'ServerVersionThreeFullStopTwo', 'ServerVersionThreeFullStopSix', 'ServerVersionFourFullStopZero' 32 ServerVersion ServerVersion `json:"serverVersion,omitempty"` 33} 34 35// ARMProxyResource the resource model definition for a ARM proxy resource. It will have everything other 36// than required location and tags 37type ARMProxyResource struct { 38 // ID - READ-ONLY; The unique resource identifier of the database account. 39 ID *string `json:"id,omitempty"` 40 // Name - READ-ONLY; The name of the database account. 41 Name *string `json:"name,omitempty"` 42 // Type - READ-ONLY; The type of Azure resource. 43 Type *string `json:"type,omitempty"` 44} 45 46// MarshalJSON is the custom marshaler for ARMProxyResource. 47func (apr ARMProxyResource) MarshalJSON() ([]byte, error) { 48 objectMap := make(map[string]interface{}) 49 return json.Marshal(objectMap) 50} 51 52// ARMResourceProperties the core properties of ARM resources. 53type ARMResourceProperties struct { 54 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 55 ID *string `json:"id,omitempty"` 56 // Name - READ-ONLY; The name of the ARM resource. 57 Name *string `json:"name,omitempty"` 58 // Type - READ-ONLY; The type of Azure resource. 59 Type *string `json:"type,omitempty"` 60 // Location - The location of the resource group to which the resource belongs. 61 Location *string `json:"location,omitempty"` 62 Tags map[string]*string `json:"tags"` 63} 64 65// MarshalJSON is the custom marshaler for ARMResourceProperties. 66func (arp ARMResourceProperties) MarshalJSON() ([]byte, error) { 67 objectMap := make(map[string]interface{}) 68 if arp.Location != nil { 69 objectMap["location"] = arp.Location 70 } 71 if arp.Tags != nil { 72 objectMap["tags"] = arp.Tags 73 } 74 return json.Marshal(objectMap) 75} 76 77// AutoscaleSettings ... 78type AutoscaleSettings struct { 79 // MaxThroughput - Represents maximum throughput, the resource can scale up to. 80 MaxThroughput *int32 `json:"maxThroughput,omitempty"` 81} 82 83// AutoscaleSettingsResource cosmos DB provisioned throughput settings object 84type AutoscaleSettingsResource struct { 85 // MaxThroughput - Represents maximum throughput container can scale up to. 86 MaxThroughput *int32 `json:"maxThroughput,omitempty"` 87 // AutoUpgradePolicy - Cosmos DB resource auto-upgrade policy 88 AutoUpgradePolicy *AutoUpgradePolicyResource `json:"autoUpgradePolicy,omitempty"` 89 // TargetMaxThroughput - READ-ONLY; Represents target maximum throughput container can scale up to once offer is no longer in pending state. 90 TargetMaxThroughput *int32 `json:"targetMaxThroughput,omitempty"` 91} 92 93// MarshalJSON is the custom marshaler for AutoscaleSettingsResource. 94func (asr AutoscaleSettingsResource) MarshalJSON() ([]byte, error) { 95 objectMap := make(map[string]interface{}) 96 if asr.MaxThroughput != nil { 97 objectMap["maxThroughput"] = asr.MaxThroughput 98 } 99 if asr.AutoUpgradePolicy != nil { 100 objectMap["autoUpgradePolicy"] = asr.AutoUpgradePolicy 101 } 102 return json.Marshal(objectMap) 103} 104 105// AutoUpgradePolicyResource cosmos DB resource auto-upgrade policy 106type AutoUpgradePolicyResource struct { 107 // ThroughputPolicy - Represents throughput policy which service must adhere to for auto-upgrade 108 ThroughputPolicy *ThroughputPolicyResource `json:"throughputPolicy,omitempty"` 109} 110 111// AzureEntityResource the resource model definition for an Azure Resource Manager resource with an etag. 112type AzureEntityResource struct { 113 // Etag - READ-ONLY; Resource Etag. 114 Etag *string `json:"etag,omitempty"` 115 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 116 ID *string `json:"id,omitempty"` 117 // Name - READ-ONLY; The name of the resource 118 Name *string `json:"name,omitempty"` 119 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 120 Type *string `json:"type,omitempty"` 121} 122 123// MarshalJSON is the custom marshaler for AzureEntityResource. 124func (aer AzureEntityResource) MarshalJSON() ([]byte, error) { 125 objectMap := make(map[string]interface{}) 126 return json.Marshal(objectMap) 127} 128 129// BackupInformation backup information of a resource. 130type BackupInformation struct { 131 autorest.Response `json:"-"` 132 // ContinuousBackupInformation - Information about the status of continuous backups. 133 ContinuousBackupInformation *ContinuousBackupInformation `json:"continuousBackupInformation,omitempty"` 134} 135 136// BasicBackupPolicy the object representing the policy for taking backups on an account. 137type BasicBackupPolicy interface { 138 AsPeriodicModeBackupPolicy() (*PeriodicModeBackupPolicy, bool) 139 AsContinuousModeBackupPolicy() (*ContinuousModeBackupPolicy, bool) 140 AsBackupPolicy() (*BackupPolicy, bool) 141} 142 143// BackupPolicy the object representing the policy for taking backups on an account. 144type BackupPolicy struct { 145 // MigrationState - The object representing the state of the migration between the backup policies. 146 MigrationState *BackupPolicyMigrationState `json:"migrationState,omitempty"` 147 // Type - Possible values include: 'TypeBackupPolicy', 'TypePeriodic', 'TypeContinuous' 148 Type Type `json:"type,omitempty"` 149} 150 151func unmarshalBasicBackupPolicy(body []byte) (BasicBackupPolicy, error) { 152 var m map[string]interface{} 153 err := json.Unmarshal(body, &m) 154 if err != nil { 155 return nil, err 156 } 157 158 switch m["type"] { 159 case string(TypePeriodic): 160 var pmbp PeriodicModeBackupPolicy 161 err := json.Unmarshal(body, &pmbp) 162 return pmbp, err 163 case string(TypeContinuous): 164 var cmbp ContinuousModeBackupPolicy 165 err := json.Unmarshal(body, &cmbp) 166 return cmbp, err 167 default: 168 var bp BackupPolicy 169 err := json.Unmarshal(body, &bp) 170 return bp, err 171 } 172} 173func unmarshalBasicBackupPolicyArray(body []byte) ([]BasicBackupPolicy, error) { 174 var rawMessages []*json.RawMessage 175 err := json.Unmarshal(body, &rawMessages) 176 if err != nil { 177 return nil, err 178 } 179 180 bpArray := make([]BasicBackupPolicy, len(rawMessages)) 181 182 for index, rawMessage := range rawMessages { 183 bp, err := unmarshalBasicBackupPolicy(*rawMessage) 184 if err != nil { 185 return nil, err 186 } 187 bpArray[index] = bp 188 } 189 return bpArray, nil 190} 191 192// MarshalJSON is the custom marshaler for BackupPolicy. 193func (bp BackupPolicy) MarshalJSON() ([]byte, error) { 194 bp.Type = TypeBackupPolicy 195 objectMap := make(map[string]interface{}) 196 if bp.MigrationState != nil { 197 objectMap["migrationState"] = bp.MigrationState 198 } 199 if bp.Type != "" { 200 objectMap["type"] = bp.Type 201 } 202 return json.Marshal(objectMap) 203} 204 205// AsPeriodicModeBackupPolicy is the BasicBackupPolicy implementation for BackupPolicy. 206func (bp BackupPolicy) AsPeriodicModeBackupPolicy() (*PeriodicModeBackupPolicy, bool) { 207 return nil, false 208} 209 210// AsContinuousModeBackupPolicy is the BasicBackupPolicy implementation for BackupPolicy. 211func (bp BackupPolicy) AsContinuousModeBackupPolicy() (*ContinuousModeBackupPolicy, bool) { 212 return nil, false 213} 214 215// AsBackupPolicy is the BasicBackupPolicy implementation for BackupPolicy. 216func (bp BackupPolicy) AsBackupPolicy() (*BackupPolicy, bool) { 217 return &bp, true 218} 219 220// AsBasicBackupPolicy is the BasicBackupPolicy implementation for BackupPolicy. 221func (bp BackupPolicy) AsBasicBackupPolicy() (BasicBackupPolicy, bool) { 222 return &bp, true 223} 224 225// BackupPolicyMigrationState the object representing the state of the migration between the backup 226// policies. 227type BackupPolicyMigrationState struct { 228 // Status - Describes the status of migration between backup policy types. Possible values include: 'BackupPolicyMigrationStatusInvalid', 'BackupPolicyMigrationStatusInProgress', 'BackupPolicyMigrationStatusCompleted', 'BackupPolicyMigrationStatusFailed' 229 Status BackupPolicyMigrationStatus `json:"status,omitempty"` 230 // TargetType - Describes the target backup policy type of the backup policy migration. Possible values include: 'BackupPolicyTypePeriodic', 'BackupPolicyTypeContinuous' 231 TargetType BackupPolicyType `json:"targetType,omitempty"` 232 // StartTime - Time at which the backup policy migration started (ISO-8601 format). 233 StartTime *date.Time `json:"startTime,omitempty"` 234} 235 236// Capability cosmos DB capability object 237type Capability struct { 238 // Name - Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include "EnableTable" and "EnableGremlin". 239 Name *string `json:"name,omitempty"` 240} 241 242// CassandraKeyspaceCreateUpdateParameters parameters to create and update Cosmos DB Cassandra keyspace. 243type CassandraKeyspaceCreateUpdateParameters struct { 244 // CassandraKeyspaceCreateUpdateProperties - Properties to create and update Azure Cosmos DB Cassandra keyspace. 245 *CassandraKeyspaceCreateUpdateProperties `json:"properties,omitempty"` 246 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 247 ID *string `json:"id,omitempty"` 248 // Name - READ-ONLY; The name of the ARM resource. 249 Name *string `json:"name,omitempty"` 250 // Type - READ-ONLY; The type of Azure resource. 251 Type *string `json:"type,omitempty"` 252 // Location - The location of the resource group to which the resource belongs. 253 Location *string `json:"location,omitempty"` 254 Tags map[string]*string `json:"tags"` 255} 256 257// MarshalJSON is the custom marshaler for CassandraKeyspaceCreateUpdateParameters. 258func (ckcup CassandraKeyspaceCreateUpdateParameters) MarshalJSON() ([]byte, error) { 259 objectMap := make(map[string]interface{}) 260 if ckcup.CassandraKeyspaceCreateUpdateProperties != nil { 261 objectMap["properties"] = ckcup.CassandraKeyspaceCreateUpdateProperties 262 } 263 if ckcup.Location != nil { 264 objectMap["location"] = ckcup.Location 265 } 266 if ckcup.Tags != nil { 267 objectMap["tags"] = ckcup.Tags 268 } 269 return json.Marshal(objectMap) 270} 271 272// UnmarshalJSON is the custom unmarshaler for CassandraKeyspaceCreateUpdateParameters struct. 273func (ckcup *CassandraKeyspaceCreateUpdateParameters) UnmarshalJSON(body []byte) error { 274 var m map[string]*json.RawMessage 275 err := json.Unmarshal(body, &m) 276 if err != nil { 277 return err 278 } 279 for k, v := range m { 280 switch k { 281 case "properties": 282 if v != nil { 283 var cassandraKeyspaceCreateUpdateProperties CassandraKeyspaceCreateUpdateProperties 284 err = json.Unmarshal(*v, &cassandraKeyspaceCreateUpdateProperties) 285 if err != nil { 286 return err 287 } 288 ckcup.CassandraKeyspaceCreateUpdateProperties = &cassandraKeyspaceCreateUpdateProperties 289 } 290 case "id": 291 if v != nil { 292 var ID string 293 err = json.Unmarshal(*v, &ID) 294 if err != nil { 295 return err 296 } 297 ckcup.ID = &ID 298 } 299 case "name": 300 if v != nil { 301 var name string 302 err = json.Unmarshal(*v, &name) 303 if err != nil { 304 return err 305 } 306 ckcup.Name = &name 307 } 308 case "type": 309 if v != nil { 310 var typeVar string 311 err = json.Unmarshal(*v, &typeVar) 312 if err != nil { 313 return err 314 } 315 ckcup.Type = &typeVar 316 } 317 case "location": 318 if v != nil { 319 var location string 320 err = json.Unmarshal(*v, &location) 321 if err != nil { 322 return err 323 } 324 ckcup.Location = &location 325 } 326 case "tags": 327 if v != nil { 328 var tags map[string]*string 329 err = json.Unmarshal(*v, &tags) 330 if err != nil { 331 return err 332 } 333 ckcup.Tags = tags 334 } 335 } 336 } 337 338 return nil 339} 340 341// CassandraKeyspaceCreateUpdateProperties properties to create and update Azure Cosmos DB Cassandra 342// keyspace. 343type CassandraKeyspaceCreateUpdateProperties struct { 344 // Resource - The standard JSON format of a Cassandra keyspace 345 Resource *CassandraKeyspaceResource `json:"resource,omitempty"` 346 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 347 Options *CreateUpdateOptions `json:"options,omitempty"` 348} 349 350// CassandraKeyspaceGetProperties the properties of an Azure Cosmos DB Cassandra keyspace 351type CassandraKeyspaceGetProperties struct { 352 Resource *CassandraKeyspaceGetPropertiesResource `json:"resource,omitempty"` 353 Options *CassandraKeyspaceGetPropertiesOptions `json:"options,omitempty"` 354} 355 356// CassandraKeyspaceGetPropertiesOptions ... 357type CassandraKeyspaceGetPropertiesOptions struct { 358 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 359 Throughput *int32 `json:"throughput,omitempty"` 360 // AutoscaleSettings - Specifies the Autoscale settings. 361 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 362} 363 364// CassandraKeyspaceGetPropertiesResource ... 365type CassandraKeyspaceGetPropertiesResource struct { 366 // ID - Name of the Cosmos DB Cassandra keyspace 367 ID *string `json:"id,omitempty"` 368 // Rid - READ-ONLY; A system generated property. A unique identifier. 369 Rid *string `json:"_rid,omitempty"` 370 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 371 Ts *float64 `json:"_ts,omitempty"` 372 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 373 Etag *string `json:"_etag,omitempty"` 374} 375 376// MarshalJSON is the custom marshaler for CassandraKeyspaceGetPropertiesResource. 377func (ckgp CassandraKeyspaceGetPropertiesResource) MarshalJSON() ([]byte, error) { 378 objectMap := make(map[string]interface{}) 379 if ckgp.ID != nil { 380 objectMap["id"] = ckgp.ID 381 } 382 return json.Marshal(objectMap) 383} 384 385// CassandraKeyspaceGetResults an Azure Cosmos DB Cassandra keyspace. 386type CassandraKeyspaceGetResults struct { 387 autorest.Response `json:"-"` 388 // CassandraKeyspaceGetProperties - The properties of an Azure Cosmos DB Cassandra keyspace 389 *CassandraKeyspaceGetProperties `json:"properties,omitempty"` 390 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 391 ID *string `json:"id,omitempty"` 392 // Name - READ-ONLY; The name of the ARM resource. 393 Name *string `json:"name,omitempty"` 394 // Type - READ-ONLY; The type of Azure resource. 395 Type *string `json:"type,omitempty"` 396 // Location - The location of the resource group to which the resource belongs. 397 Location *string `json:"location,omitempty"` 398 Tags map[string]*string `json:"tags"` 399} 400 401// MarshalJSON is the custom marshaler for CassandraKeyspaceGetResults. 402func (ckgr CassandraKeyspaceGetResults) MarshalJSON() ([]byte, error) { 403 objectMap := make(map[string]interface{}) 404 if ckgr.CassandraKeyspaceGetProperties != nil { 405 objectMap["properties"] = ckgr.CassandraKeyspaceGetProperties 406 } 407 if ckgr.Location != nil { 408 objectMap["location"] = ckgr.Location 409 } 410 if ckgr.Tags != nil { 411 objectMap["tags"] = ckgr.Tags 412 } 413 return json.Marshal(objectMap) 414} 415 416// UnmarshalJSON is the custom unmarshaler for CassandraKeyspaceGetResults struct. 417func (ckgr *CassandraKeyspaceGetResults) UnmarshalJSON(body []byte) error { 418 var m map[string]*json.RawMessage 419 err := json.Unmarshal(body, &m) 420 if err != nil { 421 return err 422 } 423 for k, v := range m { 424 switch k { 425 case "properties": 426 if v != nil { 427 var cassandraKeyspaceGetProperties CassandraKeyspaceGetProperties 428 err = json.Unmarshal(*v, &cassandraKeyspaceGetProperties) 429 if err != nil { 430 return err 431 } 432 ckgr.CassandraKeyspaceGetProperties = &cassandraKeyspaceGetProperties 433 } 434 case "id": 435 if v != nil { 436 var ID string 437 err = json.Unmarshal(*v, &ID) 438 if err != nil { 439 return err 440 } 441 ckgr.ID = &ID 442 } 443 case "name": 444 if v != nil { 445 var name string 446 err = json.Unmarshal(*v, &name) 447 if err != nil { 448 return err 449 } 450 ckgr.Name = &name 451 } 452 case "type": 453 if v != nil { 454 var typeVar string 455 err = json.Unmarshal(*v, &typeVar) 456 if err != nil { 457 return err 458 } 459 ckgr.Type = &typeVar 460 } 461 case "location": 462 if v != nil { 463 var location string 464 err = json.Unmarshal(*v, &location) 465 if err != nil { 466 return err 467 } 468 ckgr.Location = &location 469 } 470 case "tags": 471 if v != nil { 472 var tags map[string]*string 473 err = json.Unmarshal(*v, &tags) 474 if err != nil { 475 return err 476 } 477 ckgr.Tags = tags 478 } 479 } 480 } 481 482 return nil 483} 484 485// CassandraKeyspaceListResult the List operation response, that contains the Cassandra keyspaces and their 486// properties. 487type CassandraKeyspaceListResult struct { 488 autorest.Response `json:"-"` 489 // Value - READ-ONLY; List of Cassandra keyspaces and their properties. 490 Value *[]CassandraKeyspaceGetResults `json:"value,omitempty"` 491} 492 493// MarshalJSON is the custom marshaler for CassandraKeyspaceListResult. 494func (cklr CassandraKeyspaceListResult) MarshalJSON() ([]byte, error) { 495 objectMap := make(map[string]interface{}) 496 return json.Marshal(objectMap) 497} 498 499// CassandraKeyspaceResource cosmos DB Cassandra keyspace resource object 500type CassandraKeyspaceResource struct { 501 // ID - Name of the Cosmos DB Cassandra keyspace 502 ID *string `json:"id,omitempty"` 503} 504 505// CassandraPartitionKey cosmos DB Cassandra table partition key 506type CassandraPartitionKey struct { 507 // Name - Name of the Cosmos DB Cassandra table partition key 508 Name *string `json:"name,omitempty"` 509} 510 511// CassandraResourcesCreateUpdateCassandraKeyspaceFuture an abstraction for monitoring and retrieving the 512// results of a long-running operation. 513type CassandraResourcesCreateUpdateCassandraKeyspaceFuture struct { 514 azure.FutureAPI 515 // Result returns the result of the asynchronous operation. 516 // If the operation has not completed it will return an error. 517 Result func(CassandraResourcesClient) (CassandraKeyspaceGetResults, error) 518} 519 520// UnmarshalJSON is the custom unmarshaller for CreateFuture. 521func (future *CassandraResourcesCreateUpdateCassandraKeyspaceFuture) UnmarshalJSON(body []byte) error { 522 var azFuture azure.Future 523 if err := json.Unmarshal(body, &azFuture); err != nil { 524 return err 525 } 526 future.FutureAPI = &azFuture 527 future.Result = future.result 528 return nil 529} 530 531// result is the default implementation for CassandraResourcesCreateUpdateCassandraKeyspaceFuture.Result. 532func (future *CassandraResourcesCreateUpdateCassandraKeyspaceFuture) result(client CassandraResourcesClient) (ckgr CassandraKeyspaceGetResults, err error) { 533 var done bool 534 done, err = future.DoneWithContext(context.Background(), client) 535 if err != nil { 536 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesCreateUpdateCassandraKeyspaceFuture", "Result", future.Response(), "Polling failure") 537 return 538 } 539 if !done { 540 ckgr.Response.Response = future.Response() 541 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesCreateUpdateCassandraKeyspaceFuture") 542 return 543 } 544 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 545 if ckgr.Response.Response, err = future.GetResult(sender); err == nil && ckgr.Response.Response.StatusCode != http.StatusNoContent { 546 ckgr, err = client.CreateUpdateCassandraKeyspaceResponder(ckgr.Response.Response) 547 if err != nil { 548 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesCreateUpdateCassandraKeyspaceFuture", "Result", ckgr.Response.Response, "Failure responding to request") 549 } 550 } 551 return 552} 553 554// CassandraResourcesCreateUpdateCassandraTableFuture an abstraction for monitoring and retrieving the 555// results of a long-running operation. 556type CassandraResourcesCreateUpdateCassandraTableFuture struct { 557 azure.FutureAPI 558 // Result returns the result of the asynchronous operation. 559 // If the operation has not completed it will return an error. 560 Result func(CassandraResourcesClient) (CassandraTableGetResults, error) 561} 562 563// UnmarshalJSON is the custom unmarshaller for CreateFuture. 564func (future *CassandraResourcesCreateUpdateCassandraTableFuture) UnmarshalJSON(body []byte) error { 565 var azFuture azure.Future 566 if err := json.Unmarshal(body, &azFuture); err != nil { 567 return err 568 } 569 future.FutureAPI = &azFuture 570 future.Result = future.result 571 return nil 572} 573 574// result is the default implementation for CassandraResourcesCreateUpdateCassandraTableFuture.Result. 575func (future *CassandraResourcesCreateUpdateCassandraTableFuture) result(client CassandraResourcesClient) (ctgr CassandraTableGetResults, err error) { 576 var done bool 577 done, err = future.DoneWithContext(context.Background(), client) 578 if err != nil { 579 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesCreateUpdateCassandraTableFuture", "Result", future.Response(), "Polling failure") 580 return 581 } 582 if !done { 583 ctgr.Response.Response = future.Response() 584 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesCreateUpdateCassandraTableFuture") 585 return 586 } 587 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 588 if ctgr.Response.Response, err = future.GetResult(sender); err == nil && ctgr.Response.Response.StatusCode != http.StatusNoContent { 589 ctgr, err = client.CreateUpdateCassandraTableResponder(ctgr.Response.Response) 590 if err != nil { 591 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesCreateUpdateCassandraTableFuture", "Result", ctgr.Response.Response, "Failure responding to request") 592 } 593 } 594 return 595} 596 597// CassandraResourcesDeleteCassandraKeyspaceFuture an abstraction for monitoring and retrieving the results 598// of a long-running operation. 599type CassandraResourcesDeleteCassandraKeyspaceFuture struct { 600 azure.FutureAPI 601 // Result returns the result of the asynchronous operation. 602 // If the operation has not completed it will return an error. 603 Result func(CassandraResourcesClient) (autorest.Response, error) 604} 605 606// UnmarshalJSON is the custom unmarshaller for CreateFuture. 607func (future *CassandraResourcesDeleteCassandraKeyspaceFuture) UnmarshalJSON(body []byte) error { 608 var azFuture azure.Future 609 if err := json.Unmarshal(body, &azFuture); err != nil { 610 return err 611 } 612 future.FutureAPI = &azFuture 613 future.Result = future.result 614 return nil 615} 616 617// result is the default implementation for CassandraResourcesDeleteCassandraKeyspaceFuture.Result. 618func (future *CassandraResourcesDeleteCassandraKeyspaceFuture) result(client CassandraResourcesClient) (ar autorest.Response, err error) { 619 var done bool 620 done, err = future.DoneWithContext(context.Background(), client) 621 if err != nil { 622 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesDeleteCassandraKeyspaceFuture", "Result", future.Response(), "Polling failure") 623 return 624 } 625 if !done { 626 ar.Response = future.Response() 627 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesDeleteCassandraKeyspaceFuture") 628 return 629 } 630 ar.Response = future.Response() 631 return 632} 633 634// CassandraResourcesDeleteCassandraTableFuture an abstraction for monitoring and retrieving the results of 635// a long-running operation. 636type CassandraResourcesDeleteCassandraTableFuture struct { 637 azure.FutureAPI 638 // Result returns the result of the asynchronous operation. 639 // If the operation has not completed it will return an error. 640 Result func(CassandraResourcesClient) (autorest.Response, error) 641} 642 643// UnmarshalJSON is the custom unmarshaller for CreateFuture. 644func (future *CassandraResourcesDeleteCassandraTableFuture) UnmarshalJSON(body []byte) error { 645 var azFuture azure.Future 646 if err := json.Unmarshal(body, &azFuture); err != nil { 647 return err 648 } 649 future.FutureAPI = &azFuture 650 future.Result = future.result 651 return nil 652} 653 654// result is the default implementation for CassandraResourcesDeleteCassandraTableFuture.Result. 655func (future *CassandraResourcesDeleteCassandraTableFuture) result(client CassandraResourcesClient) (ar autorest.Response, err error) { 656 var done bool 657 done, err = future.DoneWithContext(context.Background(), client) 658 if err != nil { 659 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesDeleteCassandraTableFuture", "Result", future.Response(), "Polling failure") 660 return 661 } 662 if !done { 663 ar.Response = future.Response() 664 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesDeleteCassandraTableFuture") 665 return 666 } 667 ar.Response = future.Response() 668 return 669} 670 671// CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture an abstraction for monitoring and retrieving 672// the results of a long-running operation. 673type CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture struct { 674 azure.FutureAPI 675 // Result returns the result of the asynchronous operation. 676 // If the operation has not completed it will return an error. 677 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 678} 679 680// UnmarshalJSON is the custom unmarshaller for CreateFuture. 681func (future *CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture) UnmarshalJSON(body []byte) error { 682 var azFuture azure.Future 683 if err := json.Unmarshal(body, &azFuture); err != nil { 684 return err 685 } 686 future.FutureAPI = &azFuture 687 future.Result = future.result 688 return nil 689} 690 691// result is the default implementation for CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture.Result. 692func (future *CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 693 var done bool 694 done, err = future.DoneWithContext(context.Background(), client) 695 if err != nil { 696 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture", "Result", future.Response(), "Polling failure") 697 return 698 } 699 if !done { 700 tsgr.Response.Response = future.Response() 701 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture") 702 return 703 } 704 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 705 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 706 tsgr, err = client.MigrateCassandraKeyspaceToAutoscaleResponder(tsgr.Response.Response) 707 if err != nil { 708 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraKeyspaceToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 709 } 710 } 711 return 712} 713 714// CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture an abstraction for monitoring and 715// retrieving the results of a long-running operation. 716type CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture struct { 717 azure.FutureAPI 718 // Result returns the result of the asynchronous operation. 719 // If the operation has not completed it will return an error. 720 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 721} 722 723// UnmarshalJSON is the custom unmarshaller for CreateFuture. 724func (future *CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture) UnmarshalJSON(body []byte) error { 725 var azFuture azure.Future 726 if err := json.Unmarshal(body, &azFuture); err != nil { 727 return err 728 } 729 future.FutureAPI = &azFuture 730 future.Result = future.result 731 return nil 732} 733 734// result is the default implementation for CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture.Result. 735func (future *CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 736 var done bool 737 done, err = future.DoneWithContext(context.Background(), client) 738 if err != nil { 739 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture", "Result", future.Response(), "Polling failure") 740 return 741 } 742 if !done { 743 tsgr.Response.Response = future.Response() 744 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture") 745 return 746 } 747 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 748 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 749 tsgr, err = client.MigrateCassandraKeyspaceToManualThroughputResponder(tsgr.Response.Response) 750 if err != nil { 751 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraKeyspaceToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 752 } 753 } 754 return 755} 756 757// CassandraResourcesMigrateCassandraTableToAutoscaleFuture an abstraction for monitoring and retrieving 758// the results of a long-running operation. 759type CassandraResourcesMigrateCassandraTableToAutoscaleFuture struct { 760 azure.FutureAPI 761 // Result returns the result of the asynchronous operation. 762 // If the operation has not completed it will return an error. 763 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 764} 765 766// UnmarshalJSON is the custom unmarshaller for CreateFuture. 767func (future *CassandraResourcesMigrateCassandraTableToAutoscaleFuture) UnmarshalJSON(body []byte) error { 768 var azFuture azure.Future 769 if err := json.Unmarshal(body, &azFuture); err != nil { 770 return err 771 } 772 future.FutureAPI = &azFuture 773 future.Result = future.result 774 return nil 775} 776 777// result is the default implementation for CassandraResourcesMigrateCassandraTableToAutoscaleFuture.Result. 778func (future *CassandraResourcesMigrateCassandraTableToAutoscaleFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 779 var done bool 780 done, err = future.DoneWithContext(context.Background(), client) 781 if err != nil { 782 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraTableToAutoscaleFuture", "Result", future.Response(), "Polling failure") 783 return 784 } 785 if !done { 786 tsgr.Response.Response = future.Response() 787 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesMigrateCassandraTableToAutoscaleFuture") 788 return 789 } 790 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 791 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 792 tsgr, err = client.MigrateCassandraTableToAutoscaleResponder(tsgr.Response.Response) 793 if err != nil { 794 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraTableToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 795 } 796 } 797 return 798} 799 800// CassandraResourcesMigrateCassandraTableToManualThroughputFuture an abstraction for monitoring and 801// retrieving the results of a long-running operation. 802type CassandraResourcesMigrateCassandraTableToManualThroughputFuture struct { 803 azure.FutureAPI 804 // Result returns the result of the asynchronous operation. 805 // If the operation has not completed it will return an error. 806 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 807} 808 809// UnmarshalJSON is the custom unmarshaller for CreateFuture. 810func (future *CassandraResourcesMigrateCassandraTableToManualThroughputFuture) UnmarshalJSON(body []byte) error { 811 var azFuture azure.Future 812 if err := json.Unmarshal(body, &azFuture); err != nil { 813 return err 814 } 815 future.FutureAPI = &azFuture 816 future.Result = future.result 817 return nil 818} 819 820// result is the default implementation for CassandraResourcesMigrateCassandraTableToManualThroughputFuture.Result. 821func (future *CassandraResourcesMigrateCassandraTableToManualThroughputFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 822 var done bool 823 done, err = future.DoneWithContext(context.Background(), client) 824 if err != nil { 825 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraTableToManualThroughputFuture", "Result", future.Response(), "Polling failure") 826 return 827 } 828 if !done { 829 tsgr.Response.Response = future.Response() 830 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesMigrateCassandraTableToManualThroughputFuture") 831 return 832 } 833 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 834 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 835 tsgr, err = client.MigrateCassandraTableToManualThroughputResponder(tsgr.Response.Response) 836 if err != nil { 837 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesMigrateCassandraTableToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 838 } 839 } 840 return 841} 842 843// CassandraResourcesUpdateCassandraKeyspaceThroughputFuture an abstraction for monitoring and retrieving 844// the results of a long-running operation. 845type CassandraResourcesUpdateCassandraKeyspaceThroughputFuture struct { 846 azure.FutureAPI 847 // Result returns the result of the asynchronous operation. 848 // If the operation has not completed it will return an error. 849 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 850} 851 852// UnmarshalJSON is the custom unmarshaller for CreateFuture. 853func (future *CassandraResourcesUpdateCassandraKeyspaceThroughputFuture) UnmarshalJSON(body []byte) error { 854 var azFuture azure.Future 855 if err := json.Unmarshal(body, &azFuture); err != nil { 856 return err 857 } 858 future.FutureAPI = &azFuture 859 future.Result = future.result 860 return nil 861} 862 863// result is the default implementation for CassandraResourcesUpdateCassandraKeyspaceThroughputFuture.Result. 864func (future *CassandraResourcesUpdateCassandraKeyspaceThroughputFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 865 var done bool 866 done, err = future.DoneWithContext(context.Background(), client) 867 if err != nil { 868 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesUpdateCassandraKeyspaceThroughputFuture", "Result", future.Response(), "Polling failure") 869 return 870 } 871 if !done { 872 tsgr.Response.Response = future.Response() 873 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesUpdateCassandraKeyspaceThroughputFuture") 874 return 875 } 876 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 877 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 878 tsgr, err = client.UpdateCassandraKeyspaceThroughputResponder(tsgr.Response.Response) 879 if err != nil { 880 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesUpdateCassandraKeyspaceThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 881 } 882 } 883 return 884} 885 886// CassandraResourcesUpdateCassandraTableThroughputFuture an abstraction for monitoring and retrieving the 887// results of a long-running operation. 888type CassandraResourcesUpdateCassandraTableThroughputFuture struct { 889 azure.FutureAPI 890 // Result returns the result of the asynchronous operation. 891 // If the operation has not completed it will return an error. 892 Result func(CassandraResourcesClient) (ThroughputSettingsGetResults, error) 893} 894 895// UnmarshalJSON is the custom unmarshaller for CreateFuture. 896func (future *CassandraResourcesUpdateCassandraTableThroughputFuture) UnmarshalJSON(body []byte) error { 897 var azFuture azure.Future 898 if err := json.Unmarshal(body, &azFuture); err != nil { 899 return err 900 } 901 future.FutureAPI = &azFuture 902 future.Result = future.result 903 return nil 904} 905 906// result is the default implementation for CassandraResourcesUpdateCassandraTableThroughputFuture.Result. 907func (future *CassandraResourcesUpdateCassandraTableThroughputFuture) result(client CassandraResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 908 var done bool 909 done, err = future.DoneWithContext(context.Background(), client) 910 if err != nil { 911 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesUpdateCassandraTableThroughputFuture", "Result", future.Response(), "Polling failure") 912 return 913 } 914 if !done { 915 tsgr.Response.Response = future.Response() 916 err = azure.NewAsyncOpIncompleteError("documentdb.CassandraResourcesUpdateCassandraTableThroughputFuture") 917 return 918 } 919 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 920 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 921 tsgr, err = client.UpdateCassandraTableThroughputResponder(tsgr.Response.Response) 922 if err != nil { 923 err = autorest.NewErrorWithError(err, "documentdb.CassandraResourcesUpdateCassandraTableThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 924 } 925 } 926 return 927} 928 929// CassandraSchema cosmos DB Cassandra table schema 930type CassandraSchema struct { 931 // Columns - List of Cassandra table columns. 932 Columns *[]Column `json:"columns,omitempty"` 933 // PartitionKeys - List of partition key. 934 PartitionKeys *[]CassandraPartitionKey `json:"partitionKeys,omitempty"` 935 // ClusterKeys - List of cluster key. 936 ClusterKeys *[]ClusterKey `json:"clusterKeys,omitempty"` 937} 938 939// CassandraTableCreateUpdateParameters parameters to create and update Cosmos DB Cassandra table. 940type CassandraTableCreateUpdateParameters struct { 941 // CassandraTableCreateUpdateProperties - Properties to create and update Azure Cosmos DB Cassandra table. 942 *CassandraTableCreateUpdateProperties `json:"properties,omitempty"` 943 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 944 ID *string `json:"id,omitempty"` 945 // Name - READ-ONLY; The name of the ARM resource. 946 Name *string `json:"name,omitempty"` 947 // Type - READ-ONLY; The type of Azure resource. 948 Type *string `json:"type,omitempty"` 949 // Location - The location of the resource group to which the resource belongs. 950 Location *string `json:"location,omitempty"` 951 Tags map[string]*string `json:"tags"` 952} 953 954// MarshalJSON is the custom marshaler for CassandraTableCreateUpdateParameters. 955func (ctcup CassandraTableCreateUpdateParameters) MarshalJSON() ([]byte, error) { 956 objectMap := make(map[string]interface{}) 957 if ctcup.CassandraTableCreateUpdateProperties != nil { 958 objectMap["properties"] = ctcup.CassandraTableCreateUpdateProperties 959 } 960 if ctcup.Location != nil { 961 objectMap["location"] = ctcup.Location 962 } 963 if ctcup.Tags != nil { 964 objectMap["tags"] = ctcup.Tags 965 } 966 return json.Marshal(objectMap) 967} 968 969// UnmarshalJSON is the custom unmarshaler for CassandraTableCreateUpdateParameters struct. 970func (ctcup *CassandraTableCreateUpdateParameters) UnmarshalJSON(body []byte) error { 971 var m map[string]*json.RawMessage 972 err := json.Unmarshal(body, &m) 973 if err != nil { 974 return err 975 } 976 for k, v := range m { 977 switch k { 978 case "properties": 979 if v != nil { 980 var cassandraTableCreateUpdateProperties CassandraTableCreateUpdateProperties 981 err = json.Unmarshal(*v, &cassandraTableCreateUpdateProperties) 982 if err != nil { 983 return err 984 } 985 ctcup.CassandraTableCreateUpdateProperties = &cassandraTableCreateUpdateProperties 986 } 987 case "id": 988 if v != nil { 989 var ID string 990 err = json.Unmarshal(*v, &ID) 991 if err != nil { 992 return err 993 } 994 ctcup.ID = &ID 995 } 996 case "name": 997 if v != nil { 998 var name string 999 err = json.Unmarshal(*v, &name) 1000 if err != nil { 1001 return err 1002 } 1003 ctcup.Name = &name 1004 } 1005 case "type": 1006 if v != nil { 1007 var typeVar string 1008 err = json.Unmarshal(*v, &typeVar) 1009 if err != nil { 1010 return err 1011 } 1012 ctcup.Type = &typeVar 1013 } 1014 case "location": 1015 if v != nil { 1016 var location string 1017 err = json.Unmarshal(*v, &location) 1018 if err != nil { 1019 return err 1020 } 1021 ctcup.Location = &location 1022 } 1023 case "tags": 1024 if v != nil { 1025 var tags map[string]*string 1026 err = json.Unmarshal(*v, &tags) 1027 if err != nil { 1028 return err 1029 } 1030 ctcup.Tags = tags 1031 } 1032 } 1033 } 1034 1035 return nil 1036} 1037 1038// CassandraTableCreateUpdateProperties properties to create and update Azure Cosmos DB Cassandra table. 1039type CassandraTableCreateUpdateProperties struct { 1040 // Resource - The standard JSON format of a Cassandra table 1041 Resource *CassandraTableResource `json:"resource,omitempty"` 1042 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 1043 Options *CreateUpdateOptions `json:"options,omitempty"` 1044} 1045 1046// CassandraTableGetProperties the properties of an Azure Cosmos DB Cassandra table 1047type CassandraTableGetProperties struct { 1048 Resource *CassandraTableGetPropertiesResource `json:"resource,omitempty"` 1049 Options *CassandraTableGetPropertiesOptions `json:"options,omitempty"` 1050} 1051 1052// CassandraTableGetPropertiesOptions ... 1053type CassandraTableGetPropertiesOptions struct { 1054 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 1055 Throughput *int32 `json:"throughput,omitempty"` 1056 // AutoscaleSettings - Specifies the Autoscale settings. 1057 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 1058} 1059 1060// CassandraTableGetPropertiesResource ... 1061type CassandraTableGetPropertiesResource struct { 1062 // ID - Name of the Cosmos DB Cassandra table 1063 ID *string `json:"id,omitempty"` 1064 // DefaultTTL - Time to live of the Cosmos DB Cassandra table 1065 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 1066 // Schema - Schema of the Cosmos DB Cassandra table 1067 Schema *CassandraSchema `json:"schema,omitempty"` 1068 // AnalyticalStorageTTL - Analytical TTL. 1069 AnalyticalStorageTTL *int32 `json:"analyticalStorageTtl,omitempty"` 1070 // Rid - READ-ONLY; A system generated property. A unique identifier. 1071 Rid *string `json:"_rid,omitempty"` 1072 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 1073 Ts *float64 `json:"_ts,omitempty"` 1074 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 1075 Etag *string `json:"_etag,omitempty"` 1076} 1077 1078// MarshalJSON is the custom marshaler for CassandraTableGetPropertiesResource. 1079func (ctgp CassandraTableGetPropertiesResource) MarshalJSON() ([]byte, error) { 1080 objectMap := make(map[string]interface{}) 1081 if ctgp.ID != nil { 1082 objectMap["id"] = ctgp.ID 1083 } 1084 if ctgp.DefaultTTL != nil { 1085 objectMap["defaultTtl"] = ctgp.DefaultTTL 1086 } 1087 if ctgp.Schema != nil { 1088 objectMap["schema"] = ctgp.Schema 1089 } 1090 if ctgp.AnalyticalStorageTTL != nil { 1091 objectMap["analyticalStorageTtl"] = ctgp.AnalyticalStorageTTL 1092 } 1093 return json.Marshal(objectMap) 1094} 1095 1096// CassandraTableGetResults an Azure Cosmos DB Cassandra table. 1097type CassandraTableGetResults struct { 1098 autorest.Response `json:"-"` 1099 // CassandraTableGetProperties - The properties of an Azure Cosmos DB Cassandra table 1100 *CassandraTableGetProperties `json:"properties,omitempty"` 1101 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 1102 ID *string `json:"id,omitempty"` 1103 // Name - READ-ONLY; The name of the ARM resource. 1104 Name *string `json:"name,omitempty"` 1105 // Type - READ-ONLY; The type of Azure resource. 1106 Type *string `json:"type,omitempty"` 1107 // Location - The location of the resource group to which the resource belongs. 1108 Location *string `json:"location,omitempty"` 1109 Tags map[string]*string `json:"tags"` 1110} 1111 1112// MarshalJSON is the custom marshaler for CassandraTableGetResults. 1113func (ctgr CassandraTableGetResults) MarshalJSON() ([]byte, error) { 1114 objectMap := make(map[string]interface{}) 1115 if ctgr.CassandraTableGetProperties != nil { 1116 objectMap["properties"] = ctgr.CassandraTableGetProperties 1117 } 1118 if ctgr.Location != nil { 1119 objectMap["location"] = ctgr.Location 1120 } 1121 if ctgr.Tags != nil { 1122 objectMap["tags"] = ctgr.Tags 1123 } 1124 return json.Marshal(objectMap) 1125} 1126 1127// UnmarshalJSON is the custom unmarshaler for CassandraTableGetResults struct. 1128func (ctgr *CassandraTableGetResults) UnmarshalJSON(body []byte) error { 1129 var m map[string]*json.RawMessage 1130 err := json.Unmarshal(body, &m) 1131 if err != nil { 1132 return err 1133 } 1134 for k, v := range m { 1135 switch k { 1136 case "properties": 1137 if v != nil { 1138 var cassandraTableGetProperties CassandraTableGetProperties 1139 err = json.Unmarshal(*v, &cassandraTableGetProperties) 1140 if err != nil { 1141 return err 1142 } 1143 ctgr.CassandraTableGetProperties = &cassandraTableGetProperties 1144 } 1145 case "id": 1146 if v != nil { 1147 var ID string 1148 err = json.Unmarshal(*v, &ID) 1149 if err != nil { 1150 return err 1151 } 1152 ctgr.ID = &ID 1153 } 1154 case "name": 1155 if v != nil { 1156 var name string 1157 err = json.Unmarshal(*v, &name) 1158 if err != nil { 1159 return err 1160 } 1161 ctgr.Name = &name 1162 } 1163 case "type": 1164 if v != nil { 1165 var typeVar string 1166 err = json.Unmarshal(*v, &typeVar) 1167 if err != nil { 1168 return err 1169 } 1170 ctgr.Type = &typeVar 1171 } 1172 case "location": 1173 if v != nil { 1174 var location string 1175 err = json.Unmarshal(*v, &location) 1176 if err != nil { 1177 return err 1178 } 1179 ctgr.Location = &location 1180 } 1181 case "tags": 1182 if v != nil { 1183 var tags map[string]*string 1184 err = json.Unmarshal(*v, &tags) 1185 if err != nil { 1186 return err 1187 } 1188 ctgr.Tags = tags 1189 } 1190 } 1191 } 1192 1193 return nil 1194} 1195 1196// CassandraTableListResult the List operation response, that contains the Cassandra tables and their 1197// properties. 1198type CassandraTableListResult struct { 1199 autorest.Response `json:"-"` 1200 // Value - READ-ONLY; List of Cassandra tables and their properties. 1201 Value *[]CassandraTableGetResults `json:"value,omitempty"` 1202} 1203 1204// MarshalJSON is the custom marshaler for CassandraTableListResult. 1205func (ctlr CassandraTableListResult) MarshalJSON() ([]byte, error) { 1206 objectMap := make(map[string]interface{}) 1207 return json.Marshal(objectMap) 1208} 1209 1210// CassandraTableResource cosmos DB Cassandra table resource object 1211type CassandraTableResource struct { 1212 // ID - Name of the Cosmos DB Cassandra table 1213 ID *string `json:"id,omitempty"` 1214 // DefaultTTL - Time to live of the Cosmos DB Cassandra table 1215 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 1216 // Schema - Schema of the Cosmos DB Cassandra table 1217 Schema *CassandraSchema `json:"schema,omitempty"` 1218 // AnalyticalStorageTTL - Analytical TTL. 1219 AnalyticalStorageTTL *int32 `json:"analyticalStorageTtl,omitempty"` 1220} 1221 1222// CloudError an error response from the service. 1223type CloudError struct { 1224 Error *ErrorResponse `json:"error,omitempty"` 1225} 1226 1227// ClusterKey cosmos DB Cassandra table cluster key 1228type ClusterKey struct { 1229 // Name - Name of the Cosmos DB Cassandra table cluster key 1230 Name *string `json:"name,omitempty"` 1231 // OrderBy - Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and "Desc" 1232 OrderBy *string `json:"orderBy,omitempty"` 1233} 1234 1235// Column cosmos DB Cassandra table column 1236type Column struct { 1237 // Name - Name of the Cosmos DB Cassandra table column 1238 Name *string `json:"name,omitempty"` 1239 // Type - Type of the Cosmos DB Cassandra table column 1240 Type *string `json:"type,omitempty"` 1241} 1242 1243// CompositePath ... 1244type CompositePath struct { 1245 // Path - The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) 1246 Path *string `json:"path,omitempty"` 1247 // Order - Sort order for composite paths. Possible values include: 'CompositePathSortOrderAscending', 'CompositePathSortOrderDescending' 1248 Order CompositePathSortOrder `json:"order,omitempty"` 1249} 1250 1251// ConflictResolutionPolicy the conflict resolution policy for the container. 1252type ConflictResolutionPolicy struct { 1253 // Mode - Indicates the conflict resolution mode. Possible values include: 'ConflictResolutionModeLastWriterWins', 'ConflictResolutionModeCustom' 1254 Mode ConflictResolutionMode `json:"mode,omitempty"` 1255 // ConflictResolutionPath - The conflict resolution path in the case of LastWriterWins mode. 1256 ConflictResolutionPath *string `json:"conflictResolutionPath,omitempty"` 1257 // ConflictResolutionProcedure - The procedure to resolve conflicts in the case of custom mode. 1258 ConflictResolutionProcedure *string `json:"conflictResolutionProcedure,omitempty"` 1259} 1260 1261// ConsistencyPolicy the consistency policy for the Cosmos DB database account. 1262type ConsistencyPolicy struct { 1263 // DefaultConsistencyLevel - The default consistency level and configuration settings of the Cosmos DB account. Possible values include: 'DefaultConsistencyLevelEventual', 'DefaultConsistencyLevelSession', 'DefaultConsistencyLevelBoundedStaleness', 'DefaultConsistencyLevelStrong', 'DefaultConsistencyLevelConsistentPrefix' 1264 DefaultConsistencyLevel DefaultConsistencyLevel `json:"defaultConsistencyLevel,omitempty"` 1265 // MaxStalenessPrefix - When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. 1266 MaxStalenessPrefix *int64 `json:"maxStalenessPrefix,omitempty"` 1267 // MaxIntervalInSeconds - When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. 1268 MaxIntervalInSeconds *int32 `json:"maxIntervalInSeconds,omitempty"` 1269} 1270 1271// ContainerPartitionKey the configuration of the partition key to be used for partitioning data into 1272// multiple partitions 1273type ContainerPartitionKey struct { 1274 // Paths - List of paths using which data within the container can be partitioned 1275 Paths *[]string `json:"paths,omitempty"` 1276 // Kind - Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create. Possible values include: 'PartitionKindHash', 'PartitionKindRange', 'PartitionKindMultiHash' 1277 Kind PartitionKind `json:"kind,omitempty"` 1278 // Version - Indicates the version of the partition key definition 1279 Version *int32 `json:"version,omitempty"` 1280 // SystemKey - READ-ONLY; Indicates if the container is using a system generated partition key 1281 SystemKey *bool `json:"systemKey,omitempty"` 1282} 1283 1284// MarshalJSON is the custom marshaler for ContainerPartitionKey. 1285func (cpk ContainerPartitionKey) MarshalJSON() ([]byte, error) { 1286 objectMap := make(map[string]interface{}) 1287 if cpk.Paths != nil { 1288 objectMap["paths"] = cpk.Paths 1289 } 1290 if cpk.Kind != "" { 1291 objectMap["kind"] = cpk.Kind 1292 } 1293 if cpk.Version != nil { 1294 objectMap["version"] = cpk.Version 1295 } 1296 return json.Marshal(objectMap) 1297} 1298 1299// ContinuousBackupInformation information about the status of continuous backups. 1300type ContinuousBackupInformation struct { 1301 // LatestRestorableTimestamp - The latest restorable timestamp for a resource. 1302 LatestRestorableTimestamp *string `json:"latestRestorableTimestamp,omitempty"` 1303} 1304 1305// ContinuousBackupRestoreLocation properties of the regional restorable account. 1306type ContinuousBackupRestoreLocation struct { 1307 // Location - The name of the continuous backup restore location. 1308 Location *string `json:"location,omitempty"` 1309} 1310 1311// ContinuousModeBackupPolicy the object representing continuous mode backup policy. 1312type ContinuousModeBackupPolicy struct { 1313 // MigrationState - The object representing the state of the migration between the backup policies. 1314 MigrationState *BackupPolicyMigrationState `json:"migrationState,omitempty"` 1315 // Type - Possible values include: 'TypeBackupPolicy', 'TypePeriodic', 'TypeContinuous' 1316 Type Type `json:"type,omitempty"` 1317} 1318 1319// MarshalJSON is the custom marshaler for ContinuousModeBackupPolicy. 1320func (cmbp ContinuousModeBackupPolicy) MarshalJSON() ([]byte, error) { 1321 cmbp.Type = TypeContinuous 1322 objectMap := make(map[string]interface{}) 1323 if cmbp.MigrationState != nil { 1324 objectMap["migrationState"] = cmbp.MigrationState 1325 } 1326 if cmbp.Type != "" { 1327 objectMap["type"] = cmbp.Type 1328 } 1329 return json.Marshal(objectMap) 1330} 1331 1332// AsPeriodicModeBackupPolicy is the BasicBackupPolicy implementation for ContinuousModeBackupPolicy. 1333func (cmbp ContinuousModeBackupPolicy) AsPeriodicModeBackupPolicy() (*PeriodicModeBackupPolicy, bool) { 1334 return nil, false 1335} 1336 1337// AsContinuousModeBackupPolicy is the BasicBackupPolicy implementation for ContinuousModeBackupPolicy. 1338func (cmbp ContinuousModeBackupPolicy) AsContinuousModeBackupPolicy() (*ContinuousModeBackupPolicy, bool) { 1339 return &cmbp, true 1340} 1341 1342// AsBackupPolicy is the BasicBackupPolicy implementation for ContinuousModeBackupPolicy. 1343func (cmbp ContinuousModeBackupPolicy) AsBackupPolicy() (*BackupPolicy, bool) { 1344 return nil, false 1345} 1346 1347// AsBasicBackupPolicy is the BasicBackupPolicy implementation for ContinuousModeBackupPolicy. 1348func (cmbp ContinuousModeBackupPolicy) AsBasicBackupPolicy() (BasicBackupPolicy, bool) { 1349 return &cmbp, true 1350} 1351 1352// CorsPolicy the CORS policy for the Cosmos DB database account. 1353type CorsPolicy struct { 1354 // AllowedOrigins - The origin domains that are permitted to make a request against the service via CORS. 1355 AllowedOrigins *string `json:"allowedOrigins,omitempty"` 1356 // AllowedMethods - The methods (HTTP request verbs) that the origin domain may use for a CORS request. 1357 AllowedMethods *string `json:"allowedMethods,omitempty"` 1358 // AllowedHeaders - The request headers that the origin domain may specify on the CORS request. 1359 AllowedHeaders *string `json:"allowedHeaders,omitempty"` 1360 // ExposedHeaders - The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer. 1361 ExposedHeaders *string `json:"exposedHeaders,omitempty"` 1362 // MaxAgeInSeconds - The maximum amount time that a browser should cache the preflight OPTIONS request. 1363 MaxAgeInSeconds *int64 `json:"maxAgeInSeconds,omitempty"` 1364} 1365 1366// CreateUpdateOptions createUpdateOptions are a list of key-value pairs that describe the resource. 1367// Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" 1368type CreateUpdateOptions struct { 1369 // Throughput - Request Units per second. For example, "throughput": 10000. 1370 Throughput *int32 `json:"throughput,omitempty"` 1371 // AutoscaleSettings - Specifies the Autoscale settings. 1372 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 1373} 1374 1375// DatabaseAccountConnectionString connection string for the Cosmos DB account 1376type DatabaseAccountConnectionString struct { 1377 // ConnectionString - READ-ONLY; Value of the connection string 1378 ConnectionString *string `json:"connectionString,omitempty"` 1379 // Description - READ-ONLY; Description of the connection string 1380 Description *string `json:"description,omitempty"` 1381} 1382 1383// MarshalJSON is the custom marshaler for DatabaseAccountConnectionString. 1384func (dacs DatabaseAccountConnectionString) MarshalJSON() ([]byte, error) { 1385 objectMap := make(map[string]interface{}) 1386 return json.Marshal(objectMap) 1387} 1388 1389// DatabaseAccountCreateUpdateParameters parameters to create and update Cosmos DB database accounts. 1390type DatabaseAccountCreateUpdateParameters struct { 1391 // Kind - Indicates the type of database account. This can only be set at database account creation. Possible values include: 'DatabaseAccountKindGlobalDocumentDB', 'DatabaseAccountKindMongoDB', 'DatabaseAccountKindParse' 1392 Kind DatabaseAccountKind `json:"kind,omitempty"` 1393 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 1394 *DatabaseAccountCreateUpdateProperties `json:"properties,omitempty"` 1395 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 1396 ID *string `json:"id,omitempty"` 1397 // Name - READ-ONLY; The name of the ARM resource. 1398 Name *string `json:"name,omitempty"` 1399 // Type - READ-ONLY; The type of Azure resource. 1400 Type *string `json:"type,omitempty"` 1401 // Location - The location of the resource group to which the resource belongs. 1402 Location *string `json:"location,omitempty"` 1403 Tags map[string]*string `json:"tags"` 1404} 1405 1406// MarshalJSON is the custom marshaler for DatabaseAccountCreateUpdateParameters. 1407func (dacup DatabaseAccountCreateUpdateParameters) MarshalJSON() ([]byte, error) { 1408 objectMap := make(map[string]interface{}) 1409 if dacup.Kind != "" { 1410 objectMap["kind"] = dacup.Kind 1411 } 1412 if dacup.Identity != nil { 1413 objectMap["identity"] = dacup.Identity 1414 } 1415 if dacup.DatabaseAccountCreateUpdateProperties != nil { 1416 objectMap["properties"] = dacup.DatabaseAccountCreateUpdateProperties 1417 } 1418 if dacup.Location != nil { 1419 objectMap["location"] = dacup.Location 1420 } 1421 if dacup.Tags != nil { 1422 objectMap["tags"] = dacup.Tags 1423 } 1424 return json.Marshal(objectMap) 1425} 1426 1427// UnmarshalJSON is the custom unmarshaler for DatabaseAccountCreateUpdateParameters struct. 1428func (dacup *DatabaseAccountCreateUpdateParameters) UnmarshalJSON(body []byte) error { 1429 var m map[string]*json.RawMessage 1430 err := json.Unmarshal(body, &m) 1431 if err != nil { 1432 return err 1433 } 1434 for k, v := range m { 1435 switch k { 1436 case "kind": 1437 if v != nil { 1438 var kind DatabaseAccountKind 1439 err = json.Unmarshal(*v, &kind) 1440 if err != nil { 1441 return err 1442 } 1443 dacup.Kind = kind 1444 } 1445 case "identity": 1446 if v != nil { 1447 var identity ManagedServiceIdentity 1448 err = json.Unmarshal(*v, &identity) 1449 if err != nil { 1450 return err 1451 } 1452 dacup.Identity = &identity 1453 } 1454 case "properties": 1455 if v != nil { 1456 var databaseAccountCreateUpdateProperties DatabaseAccountCreateUpdateProperties 1457 err = json.Unmarshal(*v, &databaseAccountCreateUpdateProperties) 1458 if err != nil { 1459 return err 1460 } 1461 dacup.DatabaseAccountCreateUpdateProperties = &databaseAccountCreateUpdateProperties 1462 } 1463 case "id": 1464 if v != nil { 1465 var ID string 1466 err = json.Unmarshal(*v, &ID) 1467 if err != nil { 1468 return err 1469 } 1470 dacup.ID = &ID 1471 } 1472 case "name": 1473 if v != nil { 1474 var name string 1475 err = json.Unmarshal(*v, &name) 1476 if err != nil { 1477 return err 1478 } 1479 dacup.Name = &name 1480 } 1481 case "type": 1482 if v != nil { 1483 var typeVar string 1484 err = json.Unmarshal(*v, &typeVar) 1485 if err != nil { 1486 return err 1487 } 1488 dacup.Type = &typeVar 1489 } 1490 case "location": 1491 if v != nil { 1492 var location string 1493 err = json.Unmarshal(*v, &location) 1494 if err != nil { 1495 return err 1496 } 1497 dacup.Location = &location 1498 } 1499 case "tags": 1500 if v != nil { 1501 var tags map[string]*string 1502 err = json.Unmarshal(*v, &tags) 1503 if err != nil { 1504 return err 1505 } 1506 dacup.Tags = tags 1507 } 1508 } 1509 } 1510 1511 return nil 1512} 1513 1514// DatabaseAccountCreateUpdateProperties properties to create and update Azure Cosmos DB database accounts. 1515type DatabaseAccountCreateUpdateProperties struct { 1516 // ConsistencyPolicy - The consistency policy for the Cosmos DB account. 1517 ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"` 1518 // Locations - An array that contains the georeplication locations enabled for the Cosmos DB account. 1519 Locations *[]Location `json:"locations,omitempty"` 1520 // DatabaseAccountOfferType - The offer type for the database 1521 DatabaseAccountOfferType *string `json:"databaseAccountOfferType,omitempty"` 1522 // IPRules - List of IpRules. 1523 IPRules *[]IPAddressOrRange `json:"ipRules,omitempty"` 1524 // IsVirtualNetworkFilterEnabled - Flag to indicate whether to enable/disable Virtual Network ACL rules. 1525 IsVirtualNetworkFilterEnabled *bool `json:"isVirtualNetworkFilterEnabled,omitempty"` 1526 // EnableAutomaticFailover - Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. 1527 EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"` 1528 // Capabilities - List of Cosmos DB capabilities for the account 1529 Capabilities *[]Capability `json:"capabilities,omitempty"` 1530 // VirtualNetworkRules - List of Virtual Network ACL rules configured for the Cosmos DB account. 1531 VirtualNetworkRules *[]VirtualNetworkRule `json:"virtualNetworkRules,omitempty"` 1532 // EnableMultipleWriteLocations - Enables the account to write in multiple locations 1533 EnableMultipleWriteLocations *bool `json:"enableMultipleWriteLocations,omitempty"` 1534 // EnableCassandraConnector - Enables the cassandra connector on the Cosmos DB C* account 1535 EnableCassandraConnector *bool `json:"enableCassandraConnector,omitempty"` 1536 // ConnectorOffer - The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: 'ConnectorOfferSmall' 1537 ConnectorOffer ConnectorOffer `json:"connectorOffer,omitempty"` 1538 // DisableKeyBasedMetadataWriteAccess - Disable write operations on metadata resources (databases, containers, throughput) via account keys 1539 DisableKeyBasedMetadataWriteAccess *bool `json:"disableKeyBasedMetadataWriteAccess,omitempty"` 1540 // KeyVaultKeyURI - The URI of the key vault 1541 KeyVaultKeyURI *string `json:"keyVaultKeyUri,omitempty"` 1542 // DefaultIdentity - The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. 1543 DefaultIdentity *string `json:"defaultIdentity,omitempty"` 1544 // PublicNetworkAccess - Whether requests from Public Network are allowed. Possible values include: 'PublicNetworkAccessEnabled', 'PublicNetworkAccessDisabled' 1545 PublicNetworkAccess PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` 1546 // EnableFreeTier - Flag to indicate whether Free Tier is enabled. 1547 EnableFreeTier *bool `json:"enableFreeTier,omitempty"` 1548 // APIProperties - API specific properties. Currently, supported only for MongoDB API. 1549 APIProperties *APIProperties `json:"apiProperties,omitempty"` 1550 // EnableAnalyticalStorage - Flag to indicate whether to enable storage analytics. 1551 EnableAnalyticalStorage *bool `json:"enableAnalyticalStorage,omitempty"` 1552 // AnalyticalStorageConfiguration - Analytical storage specific properties. 1553 AnalyticalStorageConfiguration *AnalyticalStorageConfiguration `json:"analyticalStorageConfiguration,omitempty"` 1554 // CreateMode - Enum to indicate the mode of account creation. Possible values include: 'CreateModeDefault', 'CreateModeRestore' 1555 CreateMode CreateMode `json:"createMode,omitempty"` 1556 // BackupPolicy - The object representing the policy for taking backups on an account. 1557 BackupPolicy BasicBackupPolicy `json:"backupPolicy,omitempty"` 1558 // Cors - The CORS policy for the Cosmos DB database account. 1559 Cors *[]CorsPolicy `json:"cors,omitempty"` 1560 // NetworkACLBypass - Indicates what services are allowed to bypass firewall checks. Possible values include: 'NetworkACLBypassNone', 'NetworkACLBypassAzureServices' 1561 NetworkACLBypass NetworkACLBypass `json:"networkAclBypass,omitempty"` 1562 // NetworkACLBypassResourceIds - An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. 1563 NetworkACLBypassResourceIds *[]string `json:"networkAclBypassResourceIds,omitempty"` 1564 // DisableLocalAuth - Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. 1565 DisableLocalAuth *bool `json:"disableLocalAuth,omitempty"` 1566 // RestoreParameters - Parameters to indicate the information about the restore. 1567 RestoreParameters *RestoreParameters `json:"restoreParameters,omitempty"` 1568} 1569 1570// UnmarshalJSON is the custom unmarshaler for DatabaseAccountCreateUpdateProperties struct. 1571func (dacup *DatabaseAccountCreateUpdateProperties) UnmarshalJSON(body []byte) error { 1572 var m map[string]*json.RawMessage 1573 err := json.Unmarshal(body, &m) 1574 if err != nil { 1575 return err 1576 } 1577 for k, v := range m { 1578 switch k { 1579 case "consistencyPolicy": 1580 if v != nil { 1581 var consistencyPolicy ConsistencyPolicy 1582 err = json.Unmarshal(*v, &consistencyPolicy) 1583 if err != nil { 1584 return err 1585 } 1586 dacup.ConsistencyPolicy = &consistencyPolicy 1587 } 1588 case "locations": 1589 if v != nil { 1590 var locations []Location 1591 err = json.Unmarshal(*v, &locations) 1592 if err != nil { 1593 return err 1594 } 1595 dacup.Locations = &locations 1596 } 1597 case "databaseAccountOfferType": 1598 if v != nil { 1599 var databaseAccountOfferType string 1600 err = json.Unmarshal(*v, &databaseAccountOfferType) 1601 if err != nil { 1602 return err 1603 } 1604 dacup.DatabaseAccountOfferType = &databaseAccountOfferType 1605 } 1606 case "ipRules": 1607 if v != nil { 1608 var IPRules []IPAddressOrRange 1609 err = json.Unmarshal(*v, &IPRules) 1610 if err != nil { 1611 return err 1612 } 1613 dacup.IPRules = &IPRules 1614 } 1615 case "isVirtualNetworkFilterEnabled": 1616 if v != nil { 1617 var isVirtualNetworkFilterEnabled bool 1618 err = json.Unmarshal(*v, &isVirtualNetworkFilterEnabled) 1619 if err != nil { 1620 return err 1621 } 1622 dacup.IsVirtualNetworkFilterEnabled = &isVirtualNetworkFilterEnabled 1623 } 1624 case "enableAutomaticFailover": 1625 if v != nil { 1626 var enableAutomaticFailover bool 1627 err = json.Unmarshal(*v, &enableAutomaticFailover) 1628 if err != nil { 1629 return err 1630 } 1631 dacup.EnableAutomaticFailover = &enableAutomaticFailover 1632 } 1633 case "capabilities": 1634 if v != nil { 1635 var capabilities []Capability 1636 err = json.Unmarshal(*v, &capabilities) 1637 if err != nil { 1638 return err 1639 } 1640 dacup.Capabilities = &capabilities 1641 } 1642 case "virtualNetworkRules": 1643 if v != nil { 1644 var virtualNetworkRules []VirtualNetworkRule 1645 err = json.Unmarshal(*v, &virtualNetworkRules) 1646 if err != nil { 1647 return err 1648 } 1649 dacup.VirtualNetworkRules = &virtualNetworkRules 1650 } 1651 case "enableMultipleWriteLocations": 1652 if v != nil { 1653 var enableMultipleWriteLocations bool 1654 err = json.Unmarshal(*v, &enableMultipleWriteLocations) 1655 if err != nil { 1656 return err 1657 } 1658 dacup.EnableMultipleWriteLocations = &enableMultipleWriteLocations 1659 } 1660 case "enableCassandraConnector": 1661 if v != nil { 1662 var enableCassandraConnector bool 1663 err = json.Unmarshal(*v, &enableCassandraConnector) 1664 if err != nil { 1665 return err 1666 } 1667 dacup.EnableCassandraConnector = &enableCassandraConnector 1668 } 1669 case "connectorOffer": 1670 if v != nil { 1671 var connectorOffer ConnectorOffer 1672 err = json.Unmarshal(*v, &connectorOffer) 1673 if err != nil { 1674 return err 1675 } 1676 dacup.ConnectorOffer = connectorOffer 1677 } 1678 case "disableKeyBasedMetadataWriteAccess": 1679 if v != nil { 1680 var disableKeyBasedMetadataWriteAccess bool 1681 err = json.Unmarshal(*v, &disableKeyBasedMetadataWriteAccess) 1682 if err != nil { 1683 return err 1684 } 1685 dacup.DisableKeyBasedMetadataWriteAccess = &disableKeyBasedMetadataWriteAccess 1686 } 1687 case "keyVaultKeyUri": 1688 if v != nil { 1689 var keyVaultKeyURI string 1690 err = json.Unmarshal(*v, &keyVaultKeyURI) 1691 if err != nil { 1692 return err 1693 } 1694 dacup.KeyVaultKeyURI = &keyVaultKeyURI 1695 } 1696 case "defaultIdentity": 1697 if v != nil { 1698 var defaultIdentity string 1699 err = json.Unmarshal(*v, &defaultIdentity) 1700 if err != nil { 1701 return err 1702 } 1703 dacup.DefaultIdentity = &defaultIdentity 1704 } 1705 case "publicNetworkAccess": 1706 if v != nil { 1707 var publicNetworkAccess PublicNetworkAccess 1708 err = json.Unmarshal(*v, &publicNetworkAccess) 1709 if err != nil { 1710 return err 1711 } 1712 dacup.PublicNetworkAccess = publicNetworkAccess 1713 } 1714 case "enableFreeTier": 1715 if v != nil { 1716 var enableFreeTier bool 1717 err = json.Unmarshal(*v, &enableFreeTier) 1718 if err != nil { 1719 return err 1720 } 1721 dacup.EnableFreeTier = &enableFreeTier 1722 } 1723 case "apiProperties": 1724 if v != nil { 1725 var APIProperties APIProperties 1726 err = json.Unmarshal(*v, &APIProperties) 1727 if err != nil { 1728 return err 1729 } 1730 dacup.APIProperties = &APIProperties 1731 } 1732 case "enableAnalyticalStorage": 1733 if v != nil { 1734 var enableAnalyticalStorage bool 1735 err = json.Unmarshal(*v, &enableAnalyticalStorage) 1736 if err != nil { 1737 return err 1738 } 1739 dacup.EnableAnalyticalStorage = &enableAnalyticalStorage 1740 } 1741 case "analyticalStorageConfiguration": 1742 if v != nil { 1743 var analyticalStorageConfiguration AnalyticalStorageConfiguration 1744 err = json.Unmarshal(*v, &analyticalStorageConfiguration) 1745 if err != nil { 1746 return err 1747 } 1748 dacup.AnalyticalStorageConfiguration = &analyticalStorageConfiguration 1749 } 1750 case "createMode": 1751 if v != nil { 1752 var createMode CreateMode 1753 err = json.Unmarshal(*v, &createMode) 1754 if err != nil { 1755 return err 1756 } 1757 dacup.CreateMode = createMode 1758 } 1759 case "backupPolicy": 1760 if v != nil { 1761 backupPolicy, err := unmarshalBasicBackupPolicy(*v) 1762 if err != nil { 1763 return err 1764 } 1765 dacup.BackupPolicy = backupPolicy 1766 } 1767 case "cors": 1768 if v != nil { 1769 var cors []CorsPolicy 1770 err = json.Unmarshal(*v, &cors) 1771 if err != nil { 1772 return err 1773 } 1774 dacup.Cors = &cors 1775 } 1776 case "networkAclBypass": 1777 if v != nil { 1778 var networkACLBypass NetworkACLBypass 1779 err = json.Unmarshal(*v, &networkACLBypass) 1780 if err != nil { 1781 return err 1782 } 1783 dacup.NetworkACLBypass = networkACLBypass 1784 } 1785 case "networkAclBypassResourceIds": 1786 if v != nil { 1787 var networkACLBypassResourceIds []string 1788 err = json.Unmarshal(*v, &networkACLBypassResourceIds) 1789 if err != nil { 1790 return err 1791 } 1792 dacup.NetworkACLBypassResourceIds = &networkACLBypassResourceIds 1793 } 1794 case "disableLocalAuth": 1795 if v != nil { 1796 var disableLocalAuth bool 1797 err = json.Unmarshal(*v, &disableLocalAuth) 1798 if err != nil { 1799 return err 1800 } 1801 dacup.DisableLocalAuth = &disableLocalAuth 1802 } 1803 case "restoreParameters": 1804 if v != nil { 1805 var restoreParameters RestoreParameters 1806 err = json.Unmarshal(*v, &restoreParameters) 1807 if err != nil { 1808 return err 1809 } 1810 dacup.RestoreParameters = &restoreParameters 1811 } 1812 } 1813 } 1814 1815 return nil 1816} 1817 1818// DatabaseAccountGetProperties properties for the database account. 1819type DatabaseAccountGetProperties struct { 1820 ProvisioningState *string `json:"provisioningState,omitempty"` 1821 // DocumentEndpoint - READ-ONLY; The connection endpoint for the Cosmos DB database account. 1822 DocumentEndpoint *string `json:"documentEndpoint,omitempty"` 1823 // DatabaseAccountOfferType - READ-ONLY; The offer type for the Cosmos DB database account. Default value: Standard. Possible values include: 'DatabaseAccountOfferTypeStandard' 1824 DatabaseAccountOfferType DatabaseAccountOfferType `json:"databaseAccountOfferType,omitempty"` 1825 // IPRules - List of IpRules. 1826 IPRules *[]IPAddressOrRange `json:"ipRules,omitempty"` 1827 // IsVirtualNetworkFilterEnabled - Flag to indicate whether to enable/disable Virtual Network ACL rules. 1828 IsVirtualNetworkFilterEnabled *bool `json:"isVirtualNetworkFilterEnabled,omitempty"` 1829 // EnableAutomaticFailover - Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. 1830 EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"` 1831 // ConsistencyPolicy - The consistency policy for the Cosmos DB database account. 1832 ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"` 1833 // Capabilities - List of Cosmos DB capabilities for the account 1834 Capabilities *[]Capability `json:"capabilities,omitempty"` 1835 // WriteLocations - READ-ONLY; An array that contains the write location for the Cosmos DB account. 1836 WriteLocations *[]Location `json:"writeLocations,omitempty"` 1837 // ReadLocations - READ-ONLY; An array that contains of the read locations enabled for the Cosmos DB account. 1838 ReadLocations *[]Location `json:"readLocations,omitempty"` 1839 // Locations - READ-ONLY; An array that contains all of the locations enabled for the Cosmos DB account. 1840 Locations *[]Location `json:"locations,omitempty"` 1841 // FailoverPolicies - READ-ONLY; An array that contains the regions ordered by their failover priorities. 1842 FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"` 1843 // VirtualNetworkRules - List of Virtual Network ACL rules configured for the Cosmos DB account. 1844 VirtualNetworkRules *[]VirtualNetworkRule `json:"virtualNetworkRules,omitempty"` 1845 // PrivateEndpointConnections - READ-ONLY; List of Private Endpoint Connections configured for the Cosmos DB account. 1846 PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` 1847 // EnableMultipleWriteLocations - Enables the account to write in multiple locations 1848 EnableMultipleWriteLocations *bool `json:"enableMultipleWriteLocations,omitempty"` 1849 // EnableCassandraConnector - Enables the cassandra connector on the Cosmos DB C* account 1850 EnableCassandraConnector *bool `json:"enableCassandraConnector,omitempty"` 1851 // ConnectorOffer - The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: 'ConnectorOfferSmall' 1852 ConnectorOffer ConnectorOffer `json:"connectorOffer,omitempty"` 1853 // DisableKeyBasedMetadataWriteAccess - Disable write operations on metadata resources (databases, containers, throughput) via account keys 1854 DisableKeyBasedMetadataWriteAccess *bool `json:"disableKeyBasedMetadataWriteAccess,omitempty"` 1855 // KeyVaultKeyURI - The URI of the key vault 1856 KeyVaultKeyURI *string `json:"keyVaultKeyUri,omitempty"` 1857 // DefaultIdentity - The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. 1858 DefaultIdentity *string `json:"defaultIdentity,omitempty"` 1859 // PublicNetworkAccess - Whether requests from Public Network are allowed. Possible values include: 'PublicNetworkAccessEnabled', 'PublicNetworkAccessDisabled' 1860 PublicNetworkAccess PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` 1861 // EnableFreeTier - Flag to indicate whether Free Tier is enabled. 1862 EnableFreeTier *bool `json:"enableFreeTier,omitempty"` 1863 // APIProperties - API specific properties. 1864 APIProperties *APIProperties `json:"apiProperties,omitempty"` 1865 // EnableAnalyticalStorage - Flag to indicate whether to enable storage analytics. 1866 EnableAnalyticalStorage *bool `json:"enableAnalyticalStorage,omitempty"` 1867 // AnalyticalStorageConfiguration - Analytical storage specific properties. 1868 AnalyticalStorageConfiguration *AnalyticalStorageConfiguration `json:"analyticalStorageConfiguration,omitempty"` 1869 // InstanceID - READ-ONLY; A unique identifier assigned to the database account 1870 InstanceID *string `json:"instanceId,omitempty"` 1871 // CreateMode - Enum to indicate the mode of account creation. Possible values include: 'CreateModeDefault', 'CreateModeRestore' 1872 CreateMode CreateMode `json:"createMode,omitempty"` 1873 // RestoreParameters - Parameters to indicate the information about the restore. 1874 RestoreParameters *RestoreParameters `json:"restoreParameters,omitempty"` 1875 // BackupPolicy - The object representing the policy for taking backups on an account. 1876 BackupPolicy BasicBackupPolicy `json:"backupPolicy,omitempty"` 1877 // Cors - The CORS policy for the Cosmos DB database account. 1878 Cors *[]CorsPolicy `json:"cors,omitempty"` 1879 // NetworkACLBypass - Indicates what services are allowed to bypass firewall checks. Possible values include: 'NetworkACLBypassNone', 'NetworkACLBypassAzureServices' 1880 NetworkACLBypass NetworkACLBypass `json:"networkAclBypass,omitempty"` 1881 // NetworkACLBypassResourceIds - An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. 1882 NetworkACLBypassResourceIds *[]string `json:"networkAclBypassResourceIds,omitempty"` 1883 // DisableLocalAuth - Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. 1884 DisableLocalAuth *bool `json:"disableLocalAuth,omitempty"` 1885} 1886 1887// MarshalJSON is the custom marshaler for DatabaseAccountGetProperties. 1888func (dagp DatabaseAccountGetProperties) MarshalJSON() ([]byte, error) { 1889 objectMap := make(map[string]interface{}) 1890 if dagp.ProvisioningState != nil { 1891 objectMap["provisioningState"] = dagp.ProvisioningState 1892 } 1893 if dagp.IPRules != nil { 1894 objectMap["ipRules"] = dagp.IPRules 1895 } 1896 if dagp.IsVirtualNetworkFilterEnabled != nil { 1897 objectMap["isVirtualNetworkFilterEnabled"] = dagp.IsVirtualNetworkFilterEnabled 1898 } 1899 if dagp.EnableAutomaticFailover != nil { 1900 objectMap["enableAutomaticFailover"] = dagp.EnableAutomaticFailover 1901 } 1902 if dagp.ConsistencyPolicy != nil { 1903 objectMap["consistencyPolicy"] = dagp.ConsistencyPolicy 1904 } 1905 if dagp.Capabilities != nil { 1906 objectMap["capabilities"] = dagp.Capabilities 1907 } 1908 if dagp.VirtualNetworkRules != nil { 1909 objectMap["virtualNetworkRules"] = dagp.VirtualNetworkRules 1910 } 1911 if dagp.EnableMultipleWriteLocations != nil { 1912 objectMap["enableMultipleWriteLocations"] = dagp.EnableMultipleWriteLocations 1913 } 1914 if dagp.EnableCassandraConnector != nil { 1915 objectMap["enableCassandraConnector"] = dagp.EnableCassandraConnector 1916 } 1917 if dagp.ConnectorOffer != "" { 1918 objectMap["connectorOffer"] = dagp.ConnectorOffer 1919 } 1920 if dagp.DisableKeyBasedMetadataWriteAccess != nil { 1921 objectMap["disableKeyBasedMetadataWriteAccess"] = dagp.DisableKeyBasedMetadataWriteAccess 1922 } 1923 if dagp.KeyVaultKeyURI != nil { 1924 objectMap["keyVaultKeyUri"] = dagp.KeyVaultKeyURI 1925 } 1926 if dagp.DefaultIdentity != nil { 1927 objectMap["defaultIdentity"] = dagp.DefaultIdentity 1928 } 1929 if dagp.PublicNetworkAccess != "" { 1930 objectMap["publicNetworkAccess"] = dagp.PublicNetworkAccess 1931 } 1932 if dagp.EnableFreeTier != nil { 1933 objectMap["enableFreeTier"] = dagp.EnableFreeTier 1934 } 1935 if dagp.APIProperties != nil { 1936 objectMap["apiProperties"] = dagp.APIProperties 1937 } 1938 if dagp.EnableAnalyticalStorage != nil { 1939 objectMap["enableAnalyticalStorage"] = dagp.EnableAnalyticalStorage 1940 } 1941 if dagp.AnalyticalStorageConfiguration != nil { 1942 objectMap["analyticalStorageConfiguration"] = dagp.AnalyticalStorageConfiguration 1943 } 1944 if dagp.CreateMode != "" { 1945 objectMap["createMode"] = dagp.CreateMode 1946 } 1947 if dagp.RestoreParameters != nil { 1948 objectMap["restoreParameters"] = dagp.RestoreParameters 1949 } 1950 objectMap["backupPolicy"] = dagp.BackupPolicy 1951 if dagp.Cors != nil { 1952 objectMap["cors"] = dagp.Cors 1953 } 1954 if dagp.NetworkACLBypass != "" { 1955 objectMap["networkAclBypass"] = dagp.NetworkACLBypass 1956 } 1957 if dagp.NetworkACLBypassResourceIds != nil { 1958 objectMap["networkAclBypassResourceIds"] = dagp.NetworkACLBypassResourceIds 1959 } 1960 if dagp.DisableLocalAuth != nil { 1961 objectMap["disableLocalAuth"] = dagp.DisableLocalAuth 1962 } 1963 return json.Marshal(objectMap) 1964} 1965 1966// UnmarshalJSON is the custom unmarshaler for DatabaseAccountGetProperties struct. 1967func (dagp *DatabaseAccountGetProperties) UnmarshalJSON(body []byte) error { 1968 var m map[string]*json.RawMessage 1969 err := json.Unmarshal(body, &m) 1970 if err != nil { 1971 return err 1972 } 1973 for k, v := range m { 1974 switch k { 1975 case "provisioningState": 1976 if v != nil { 1977 var provisioningState string 1978 err = json.Unmarshal(*v, &provisioningState) 1979 if err != nil { 1980 return err 1981 } 1982 dagp.ProvisioningState = &provisioningState 1983 } 1984 case "documentEndpoint": 1985 if v != nil { 1986 var documentEndpoint string 1987 err = json.Unmarshal(*v, &documentEndpoint) 1988 if err != nil { 1989 return err 1990 } 1991 dagp.DocumentEndpoint = &documentEndpoint 1992 } 1993 case "databaseAccountOfferType": 1994 if v != nil { 1995 var databaseAccountOfferType DatabaseAccountOfferType 1996 err = json.Unmarshal(*v, &databaseAccountOfferType) 1997 if err != nil { 1998 return err 1999 } 2000 dagp.DatabaseAccountOfferType = databaseAccountOfferType 2001 } 2002 case "ipRules": 2003 if v != nil { 2004 var IPRules []IPAddressOrRange 2005 err = json.Unmarshal(*v, &IPRules) 2006 if err != nil { 2007 return err 2008 } 2009 dagp.IPRules = &IPRules 2010 } 2011 case "isVirtualNetworkFilterEnabled": 2012 if v != nil { 2013 var isVirtualNetworkFilterEnabled bool 2014 err = json.Unmarshal(*v, &isVirtualNetworkFilterEnabled) 2015 if err != nil { 2016 return err 2017 } 2018 dagp.IsVirtualNetworkFilterEnabled = &isVirtualNetworkFilterEnabled 2019 } 2020 case "enableAutomaticFailover": 2021 if v != nil { 2022 var enableAutomaticFailover bool 2023 err = json.Unmarshal(*v, &enableAutomaticFailover) 2024 if err != nil { 2025 return err 2026 } 2027 dagp.EnableAutomaticFailover = &enableAutomaticFailover 2028 } 2029 case "consistencyPolicy": 2030 if v != nil { 2031 var consistencyPolicy ConsistencyPolicy 2032 err = json.Unmarshal(*v, &consistencyPolicy) 2033 if err != nil { 2034 return err 2035 } 2036 dagp.ConsistencyPolicy = &consistencyPolicy 2037 } 2038 case "capabilities": 2039 if v != nil { 2040 var capabilities []Capability 2041 err = json.Unmarshal(*v, &capabilities) 2042 if err != nil { 2043 return err 2044 } 2045 dagp.Capabilities = &capabilities 2046 } 2047 case "writeLocations": 2048 if v != nil { 2049 var writeLocations []Location 2050 err = json.Unmarshal(*v, &writeLocations) 2051 if err != nil { 2052 return err 2053 } 2054 dagp.WriteLocations = &writeLocations 2055 } 2056 case "readLocations": 2057 if v != nil { 2058 var readLocations []Location 2059 err = json.Unmarshal(*v, &readLocations) 2060 if err != nil { 2061 return err 2062 } 2063 dagp.ReadLocations = &readLocations 2064 } 2065 case "locations": 2066 if v != nil { 2067 var locations []Location 2068 err = json.Unmarshal(*v, &locations) 2069 if err != nil { 2070 return err 2071 } 2072 dagp.Locations = &locations 2073 } 2074 case "failoverPolicies": 2075 if v != nil { 2076 var failoverPolicies []FailoverPolicy 2077 err = json.Unmarshal(*v, &failoverPolicies) 2078 if err != nil { 2079 return err 2080 } 2081 dagp.FailoverPolicies = &failoverPolicies 2082 } 2083 case "virtualNetworkRules": 2084 if v != nil { 2085 var virtualNetworkRules []VirtualNetworkRule 2086 err = json.Unmarshal(*v, &virtualNetworkRules) 2087 if err != nil { 2088 return err 2089 } 2090 dagp.VirtualNetworkRules = &virtualNetworkRules 2091 } 2092 case "privateEndpointConnections": 2093 if v != nil { 2094 var privateEndpointConnections []PrivateEndpointConnection 2095 err = json.Unmarshal(*v, &privateEndpointConnections) 2096 if err != nil { 2097 return err 2098 } 2099 dagp.PrivateEndpointConnections = &privateEndpointConnections 2100 } 2101 case "enableMultipleWriteLocations": 2102 if v != nil { 2103 var enableMultipleWriteLocations bool 2104 err = json.Unmarshal(*v, &enableMultipleWriteLocations) 2105 if err != nil { 2106 return err 2107 } 2108 dagp.EnableMultipleWriteLocations = &enableMultipleWriteLocations 2109 } 2110 case "enableCassandraConnector": 2111 if v != nil { 2112 var enableCassandraConnector bool 2113 err = json.Unmarshal(*v, &enableCassandraConnector) 2114 if err != nil { 2115 return err 2116 } 2117 dagp.EnableCassandraConnector = &enableCassandraConnector 2118 } 2119 case "connectorOffer": 2120 if v != nil { 2121 var connectorOffer ConnectorOffer 2122 err = json.Unmarshal(*v, &connectorOffer) 2123 if err != nil { 2124 return err 2125 } 2126 dagp.ConnectorOffer = connectorOffer 2127 } 2128 case "disableKeyBasedMetadataWriteAccess": 2129 if v != nil { 2130 var disableKeyBasedMetadataWriteAccess bool 2131 err = json.Unmarshal(*v, &disableKeyBasedMetadataWriteAccess) 2132 if err != nil { 2133 return err 2134 } 2135 dagp.DisableKeyBasedMetadataWriteAccess = &disableKeyBasedMetadataWriteAccess 2136 } 2137 case "keyVaultKeyUri": 2138 if v != nil { 2139 var keyVaultKeyURI string 2140 err = json.Unmarshal(*v, &keyVaultKeyURI) 2141 if err != nil { 2142 return err 2143 } 2144 dagp.KeyVaultKeyURI = &keyVaultKeyURI 2145 } 2146 case "defaultIdentity": 2147 if v != nil { 2148 var defaultIdentity string 2149 err = json.Unmarshal(*v, &defaultIdentity) 2150 if err != nil { 2151 return err 2152 } 2153 dagp.DefaultIdentity = &defaultIdentity 2154 } 2155 case "publicNetworkAccess": 2156 if v != nil { 2157 var publicNetworkAccess PublicNetworkAccess 2158 err = json.Unmarshal(*v, &publicNetworkAccess) 2159 if err != nil { 2160 return err 2161 } 2162 dagp.PublicNetworkAccess = publicNetworkAccess 2163 } 2164 case "enableFreeTier": 2165 if v != nil { 2166 var enableFreeTier bool 2167 err = json.Unmarshal(*v, &enableFreeTier) 2168 if err != nil { 2169 return err 2170 } 2171 dagp.EnableFreeTier = &enableFreeTier 2172 } 2173 case "apiProperties": 2174 if v != nil { 2175 var APIProperties APIProperties 2176 err = json.Unmarshal(*v, &APIProperties) 2177 if err != nil { 2178 return err 2179 } 2180 dagp.APIProperties = &APIProperties 2181 } 2182 case "enableAnalyticalStorage": 2183 if v != nil { 2184 var enableAnalyticalStorage bool 2185 err = json.Unmarshal(*v, &enableAnalyticalStorage) 2186 if err != nil { 2187 return err 2188 } 2189 dagp.EnableAnalyticalStorage = &enableAnalyticalStorage 2190 } 2191 case "analyticalStorageConfiguration": 2192 if v != nil { 2193 var analyticalStorageConfiguration AnalyticalStorageConfiguration 2194 err = json.Unmarshal(*v, &analyticalStorageConfiguration) 2195 if err != nil { 2196 return err 2197 } 2198 dagp.AnalyticalStorageConfiguration = &analyticalStorageConfiguration 2199 } 2200 case "instanceId": 2201 if v != nil { 2202 var instanceID string 2203 err = json.Unmarshal(*v, &instanceID) 2204 if err != nil { 2205 return err 2206 } 2207 dagp.InstanceID = &instanceID 2208 } 2209 case "createMode": 2210 if v != nil { 2211 var createMode CreateMode 2212 err = json.Unmarshal(*v, &createMode) 2213 if err != nil { 2214 return err 2215 } 2216 dagp.CreateMode = createMode 2217 } 2218 case "restoreParameters": 2219 if v != nil { 2220 var restoreParameters RestoreParameters 2221 err = json.Unmarshal(*v, &restoreParameters) 2222 if err != nil { 2223 return err 2224 } 2225 dagp.RestoreParameters = &restoreParameters 2226 } 2227 case "backupPolicy": 2228 if v != nil { 2229 backupPolicy, err := unmarshalBasicBackupPolicy(*v) 2230 if err != nil { 2231 return err 2232 } 2233 dagp.BackupPolicy = backupPolicy 2234 } 2235 case "cors": 2236 if v != nil { 2237 var cors []CorsPolicy 2238 err = json.Unmarshal(*v, &cors) 2239 if err != nil { 2240 return err 2241 } 2242 dagp.Cors = &cors 2243 } 2244 case "networkAclBypass": 2245 if v != nil { 2246 var networkACLBypass NetworkACLBypass 2247 err = json.Unmarshal(*v, &networkACLBypass) 2248 if err != nil { 2249 return err 2250 } 2251 dagp.NetworkACLBypass = networkACLBypass 2252 } 2253 case "networkAclBypassResourceIds": 2254 if v != nil { 2255 var networkACLBypassResourceIds []string 2256 err = json.Unmarshal(*v, &networkACLBypassResourceIds) 2257 if err != nil { 2258 return err 2259 } 2260 dagp.NetworkACLBypassResourceIds = &networkACLBypassResourceIds 2261 } 2262 case "disableLocalAuth": 2263 if v != nil { 2264 var disableLocalAuth bool 2265 err = json.Unmarshal(*v, &disableLocalAuth) 2266 if err != nil { 2267 return err 2268 } 2269 dagp.DisableLocalAuth = &disableLocalAuth 2270 } 2271 } 2272 } 2273 2274 return nil 2275} 2276 2277// DatabaseAccountGetResults an Azure Cosmos DB database account. 2278type DatabaseAccountGetResults struct { 2279 autorest.Response `json:"-"` 2280 // Kind - Indicates the type of database account. This can only be set at database account creation. Possible values include: 'DatabaseAccountKindGlobalDocumentDB', 'DatabaseAccountKindMongoDB', 'DatabaseAccountKindParse' 2281 Kind DatabaseAccountKind `json:"kind,omitempty"` 2282 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 2283 *DatabaseAccountGetProperties `json:"properties,omitempty"` 2284 // SystemData - READ-ONLY; The system meta data relating to this resource. 2285 SystemData *SystemData `json:"systemData,omitempty"` 2286 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 2287 ID *string `json:"id,omitempty"` 2288 // Name - READ-ONLY; The name of the ARM resource. 2289 Name *string `json:"name,omitempty"` 2290 // Type - READ-ONLY; The type of Azure resource. 2291 Type *string `json:"type,omitempty"` 2292 // Location - The location of the resource group to which the resource belongs. 2293 Location *string `json:"location,omitempty"` 2294 Tags map[string]*string `json:"tags"` 2295} 2296 2297// MarshalJSON is the custom marshaler for DatabaseAccountGetResults. 2298func (dagr DatabaseAccountGetResults) MarshalJSON() ([]byte, error) { 2299 objectMap := make(map[string]interface{}) 2300 if dagr.Kind != "" { 2301 objectMap["kind"] = dagr.Kind 2302 } 2303 if dagr.Identity != nil { 2304 objectMap["identity"] = dagr.Identity 2305 } 2306 if dagr.DatabaseAccountGetProperties != nil { 2307 objectMap["properties"] = dagr.DatabaseAccountGetProperties 2308 } 2309 if dagr.Location != nil { 2310 objectMap["location"] = dagr.Location 2311 } 2312 if dagr.Tags != nil { 2313 objectMap["tags"] = dagr.Tags 2314 } 2315 return json.Marshal(objectMap) 2316} 2317 2318// UnmarshalJSON is the custom unmarshaler for DatabaseAccountGetResults struct. 2319func (dagr *DatabaseAccountGetResults) UnmarshalJSON(body []byte) error { 2320 var m map[string]*json.RawMessage 2321 err := json.Unmarshal(body, &m) 2322 if err != nil { 2323 return err 2324 } 2325 for k, v := range m { 2326 switch k { 2327 case "kind": 2328 if v != nil { 2329 var kind DatabaseAccountKind 2330 err = json.Unmarshal(*v, &kind) 2331 if err != nil { 2332 return err 2333 } 2334 dagr.Kind = kind 2335 } 2336 case "identity": 2337 if v != nil { 2338 var identity ManagedServiceIdentity 2339 err = json.Unmarshal(*v, &identity) 2340 if err != nil { 2341 return err 2342 } 2343 dagr.Identity = &identity 2344 } 2345 case "properties": 2346 if v != nil { 2347 var databaseAccountGetProperties DatabaseAccountGetProperties 2348 err = json.Unmarshal(*v, &databaseAccountGetProperties) 2349 if err != nil { 2350 return err 2351 } 2352 dagr.DatabaseAccountGetProperties = &databaseAccountGetProperties 2353 } 2354 case "systemData": 2355 if v != nil { 2356 var systemData SystemData 2357 err = json.Unmarshal(*v, &systemData) 2358 if err != nil { 2359 return err 2360 } 2361 dagr.SystemData = &systemData 2362 } 2363 case "id": 2364 if v != nil { 2365 var ID string 2366 err = json.Unmarshal(*v, &ID) 2367 if err != nil { 2368 return err 2369 } 2370 dagr.ID = &ID 2371 } 2372 case "name": 2373 if v != nil { 2374 var name string 2375 err = json.Unmarshal(*v, &name) 2376 if err != nil { 2377 return err 2378 } 2379 dagr.Name = &name 2380 } 2381 case "type": 2382 if v != nil { 2383 var typeVar string 2384 err = json.Unmarshal(*v, &typeVar) 2385 if err != nil { 2386 return err 2387 } 2388 dagr.Type = &typeVar 2389 } 2390 case "location": 2391 if v != nil { 2392 var location string 2393 err = json.Unmarshal(*v, &location) 2394 if err != nil { 2395 return err 2396 } 2397 dagr.Location = &location 2398 } 2399 case "tags": 2400 if v != nil { 2401 var tags map[string]*string 2402 err = json.Unmarshal(*v, &tags) 2403 if err != nil { 2404 return err 2405 } 2406 dagr.Tags = tags 2407 } 2408 } 2409 } 2410 2411 return nil 2412} 2413 2414// DatabaseAccountListConnectionStringsResult the connection strings for the given database account. 2415type DatabaseAccountListConnectionStringsResult struct { 2416 autorest.Response `json:"-"` 2417 // ConnectionStrings - An array that contains the connection strings for the Cosmos DB account. 2418 ConnectionStrings *[]DatabaseAccountConnectionString `json:"connectionStrings,omitempty"` 2419} 2420 2421// DatabaseAccountListKeysResult the access keys for the given database account. 2422type DatabaseAccountListKeysResult struct { 2423 autorest.Response `json:"-"` 2424 // PrimaryMasterKey - READ-ONLY; Base 64 encoded value of the primary read-write key. 2425 PrimaryMasterKey *string `json:"primaryMasterKey,omitempty"` 2426 // SecondaryMasterKey - READ-ONLY; Base 64 encoded value of the secondary read-write key. 2427 SecondaryMasterKey *string `json:"secondaryMasterKey,omitempty"` 2428 // PrimaryReadonlyMasterKey - READ-ONLY; Base 64 encoded value of the primary read-only key. 2429 PrimaryReadonlyMasterKey *string `json:"primaryReadonlyMasterKey,omitempty"` 2430 // SecondaryReadonlyMasterKey - READ-ONLY; Base 64 encoded value of the secondary read-only key. 2431 SecondaryReadonlyMasterKey *string `json:"secondaryReadonlyMasterKey,omitempty"` 2432} 2433 2434// MarshalJSON is the custom marshaler for DatabaseAccountListKeysResult. 2435func (dalkr DatabaseAccountListKeysResult) MarshalJSON() ([]byte, error) { 2436 objectMap := make(map[string]interface{}) 2437 return json.Marshal(objectMap) 2438} 2439 2440// DatabaseAccountListReadOnlyKeysResult the read-only access keys for the given database account. 2441type DatabaseAccountListReadOnlyKeysResult struct { 2442 autorest.Response `json:"-"` 2443 // PrimaryReadonlyMasterKey - READ-ONLY; Base 64 encoded value of the primary read-only key. 2444 PrimaryReadonlyMasterKey *string `json:"primaryReadonlyMasterKey,omitempty"` 2445 // SecondaryReadonlyMasterKey - READ-ONLY; Base 64 encoded value of the secondary read-only key. 2446 SecondaryReadonlyMasterKey *string `json:"secondaryReadonlyMasterKey,omitempty"` 2447} 2448 2449// MarshalJSON is the custom marshaler for DatabaseAccountListReadOnlyKeysResult. 2450func (dalrokr DatabaseAccountListReadOnlyKeysResult) MarshalJSON() ([]byte, error) { 2451 objectMap := make(map[string]interface{}) 2452 return json.Marshal(objectMap) 2453} 2454 2455// DatabaseAccountRegenerateKeyParameters parameters to regenerate the keys within the database account. 2456type DatabaseAccountRegenerateKeyParameters struct { 2457 // KeyKind - The access key to regenerate. Possible values include: 'KeyKindPrimary', 'KeyKindSecondary', 'KeyKindPrimaryReadonly', 'KeyKindSecondaryReadonly' 2458 KeyKind KeyKind `json:"keyKind,omitempty"` 2459} 2460 2461// DatabaseAccountsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 2462// long-running operation. 2463type DatabaseAccountsCreateOrUpdateFuture struct { 2464 azure.FutureAPI 2465 // Result returns the result of the asynchronous operation. 2466 // If the operation has not completed it will return an error. 2467 Result func(DatabaseAccountsClient) (DatabaseAccountGetResults, error) 2468} 2469 2470// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2471func (future *DatabaseAccountsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 2472 var azFuture azure.Future 2473 if err := json.Unmarshal(body, &azFuture); err != nil { 2474 return err 2475 } 2476 future.FutureAPI = &azFuture 2477 future.Result = future.result 2478 return nil 2479} 2480 2481// result is the default implementation for DatabaseAccountsCreateOrUpdateFuture.Result. 2482func (future *DatabaseAccountsCreateOrUpdateFuture) result(client DatabaseAccountsClient) (dagr DatabaseAccountGetResults, err error) { 2483 var done bool 2484 done, err = future.DoneWithContext(context.Background(), client) 2485 if err != nil { 2486 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 2487 return 2488 } 2489 if !done { 2490 dagr.Response.Response = future.Response() 2491 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsCreateOrUpdateFuture") 2492 return 2493 } 2494 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2495 if dagr.Response.Response, err = future.GetResult(sender); err == nil && dagr.Response.Response.StatusCode != http.StatusNoContent { 2496 dagr, err = client.CreateOrUpdateResponder(dagr.Response.Response) 2497 if err != nil { 2498 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsCreateOrUpdateFuture", "Result", dagr.Response.Response, "Failure responding to request") 2499 } 2500 } 2501 return 2502} 2503 2504// DatabaseAccountsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running 2505// operation. 2506type DatabaseAccountsDeleteFuture struct { 2507 azure.FutureAPI 2508 // Result returns the result of the asynchronous operation. 2509 // If the operation has not completed it will return an error. 2510 Result func(DatabaseAccountsClient) (autorest.Response, error) 2511} 2512 2513// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2514func (future *DatabaseAccountsDeleteFuture) UnmarshalJSON(body []byte) error { 2515 var azFuture azure.Future 2516 if err := json.Unmarshal(body, &azFuture); err != nil { 2517 return err 2518 } 2519 future.FutureAPI = &azFuture 2520 future.Result = future.result 2521 return nil 2522} 2523 2524// result is the default implementation for DatabaseAccountsDeleteFuture.Result. 2525func (future *DatabaseAccountsDeleteFuture) result(client DatabaseAccountsClient) (ar autorest.Response, err error) { 2526 var done bool 2527 done, err = future.DoneWithContext(context.Background(), client) 2528 if err != nil { 2529 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsDeleteFuture", "Result", future.Response(), "Polling failure") 2530 return 2531 } 2532 if !done { 2533 ar.Response = future.Response() 2534 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsDeleteFuture") 2535 return 2536 } 2537 ar.Response = future.Response() 2538 return 2539} 2540 2541// DatabaseAccountsFailoverPriorityChangeFuture an abstraction for monitoring and retrieving the results of 2542// a long-running operation. 2543type DatabaseAccountsFailoverPriorityChangeFuture struct { 2544 azure.FutureAPI 2545 // Result returns the result of the asynchronous operation. 2546 // If the operation has not completed it will return an error. 2547 Result func(DatabaseAccountsClient) (autorest.Response, error) 2548} 2549 2550// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2551func (future *DatabaseAccountsFailoverPriorityChangeFuture) UnmarshalJSON(body []byte) error { 2552 var azFuture azure.Future 2553 if err := json.Unmarshal(body, &azFuture); err != nil { 2554 return err 2555 } 2556 future.FutureAPI = &azFuture 2557 future.Result = future.result 2558 return nil 2559} 2560 2561// result is the default implementation for DatabaseAccountsFailoverPriorityChangeFuture.Result. 2562func (future *DatabaseAccountsFailoverPriorityChangeFuture) result(client DatabaseAccountsClient) (ar autorest.Response, err error) { 2563 var done bool 2564 done, err = future.DoneWithContext(context.Background(), client) 2565 if err != nil { 2566 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsFailoverPriorityChangeFuture", "Result", future.Response(), "Polling failure") 2567 return 2568 } 2569 if !done { 2570 ar.Response = future.Response() 2571 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsFailoverPriorityChangeFuture") 2572 return 2573 } 2574 ar.Response = future.Response() 2575 return 2576} 2577 2578// DatabaseAccountsListResult the List operation response, that contains the database accounts and their 2579// properties. 2580type DatabaseAccountsListResult struct { 2581 autorest.Response `json:"-"` 2582 // Value - READ-ONLY; List of database account and their properties. 2583 Value *[]DatabaseAccountGetResults `json:"value,omitempty"` 2584} 2585 2586// MarshalJSON is the custom marshaler for DatabaseAccountsListResult. 2587func (dalr DatabaseAccountsListResult) MarshalJSON() ([]byte, error) { 2588 objectMap := make(map[string]interface{}) 2589 return json.Marshal(objectMap) 2590} 2591 2592// DatabaseAccountsOfflineRegionFuture an abstraction for monitoring and retrieving the results of a 2593// long-running operation. 2594type DatabaseAccountsOfflineRegionFuture struct { 2595 azure.FutureAPI 2596 // Result returns the result of the asynchronous operation. 2597 // If the operation has not completed it will return an error. 2598 Result func(DatabaseAccountsClient) (autorest.Response, error) 2599} 2600 2601// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2602func (future *DatabaseAccountsOfflineRegionFuture) UnmarshalJSON(body []byte) error { 2603 var azFuture azure.Future 2604 if err := json.Unmarshal(body, &azFuture); err != nil { 2605 return err 2606 } 2607 future.FutureAPI = &azFuture 2608 future.Result = future.result 2609 return nil 2610} 2611 2612// result is the default implementation for DatabaseAccountsOfflineRegionFuture.Result. 2613func (future *DatabaseAccountsOfflineRegionFuture) result(client DatabaseAccountsClient) (ar autorest.Response, err error) { 2614 var done bool 2615 done, err = future.DoneWithContext(context.Background(), client) 2616 if err != nil { 2617 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsOfflineRegionFuture", "Result", future.Response(), "Polling failure") 2618 return 2619 } 2620 if !done { 2621 ar.Response = future.Response() 2622 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsOfflineRegionFuture") 2623 return 2624 } 2625 ar.Response = future.Response() 2626 return 2627} 2628 2629// DatabaseAccountsOnlineRegionFuture an abstraction for monitoring and retrieving the results of a 2630// long-running operation. 2631type DatabaseAccountsOnlineRegionFuture struct { 2632 azure.FutureAPI 2633 // Result returns the result of the asynchronous operation. 2634 // If the operation has not completed it will return an error. 2635 Result func(DatabaseAccountsClient) (autorest.Response, error) 2636} 2637 2638// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2639func (future *DatabaseAccountsOnlineRegionFuture) UnmarshalJSON(body []byte) error { 2640 var azFuture azure.Future 2641 if err := json.Unmarshal(body, &azFuture); err != nil { 2642 return err 2643 } 2644 future.FutureAPI = &azFuture 2645 future.Result = future.result 2646 return nil 2647} 2648 2649// result is the default implementation for DatabaseAccountsOnlineRegionFuture.Result. 2650func (future *DatabaseAccountsOnlineRegionFuture) result(client DatabaseAccountsClient) (ar autorest.Response, err error) { 2651 var done bool 2652 done, err = future.DoneWithContext(context.Background(), client) 2653 if err != nil { 2654 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsOnlineRegionFuture", "Result", future.Response(), "Polling failure") 2655 return 2656 } 2657 if !done { 2658 ar.Response = future.Response() 2659 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsOnlineRegionFuture") 2660 return 2661 } 2662 ar.Response = future.Response() 2663 return 2664} 2665 2666// DatabaseAccountsRegenerateKeyFuture an abstraction for monitoring and retrieving the results of a 2667// long-running operation. 2668type DatabaseAccountsRegenerateKeyFuture struct { 2669 azure.FutureAPI 2670 // Result returns the result of the asynchronous operation. 2671 // If the operation has not completed it will return an error. 2672 Result func(DatabaseAccountsClient) (autorest.Response, error) 2673} 2674 2675// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2676func (future *DatabaseAccountsRegenerateKeyFuture) UnmarshalJSON(body []byte) error { 2677 var azFuture azure.Future 2678 if err := json.Unmarshal(body, &azFuture); err != nil { 2679 return err 2680 } 2681 future.FutureAPI = &azFuture 2682 future.Result = future.result 2683 return nil 2684} 2685 2686// result is the default implementation for DatabaseAccountsRegenerateKeyFuture.Result. 2687func (future *DatabaseAccountsRegenerateKeyFuture) result(client DatabaseAccountsClient) (ar autorest.Response, err error) { 2688 var done bool 2689 done, err = future.DoneWithContext(context.Background(), client) 2690 if err != nil { 2691 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsRegenerateKeyFuture", "Result", future.Response(), "Polling failure") 2692 return 2693 } 2694 if !done { 2695 ar.Response = future.Response() 2696 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsRegenerateKeyFuture") 2697 return 2698 } 2699 ar.Response = future.Response() 2700 return 2701} 2702 2703// DatabaseAccountsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running 2704// operation. 2705type DatabaseAccountsUpdateFuture struct { 2706 azure.FutureAPI 2707 // Result returns the result of the asynchronous operation. 2708 // If the operation has not completed it will return an error. 2709 Result func(DatabaseAccountsClient) (DatabaseAccountGetResults, error) 2710} 2711 2712// UnmarshalJSON is the custom unmarshaller for CreateFuture. 2713func (future *DatabaseAccountsUpdateFuture) UnmarshalJSON(body []byte) error { 2714 var azFuture azure.Future 2715 if err := json.Unmarshal(body, &azFuture); err != nil { 2716 return err 2717 } 2718 future.FutureAPI = &azFuture 2719 future.Result = future.result 2720 return nil 2721} 2722 2723// result is the default implementation for DatabaseAccountsUpdateFuture.Result. 2724func (future *DatabaseAccountsUpdateFuture) result(client DatabaseAccountsClient) (dagr DatabaseAccountGetResults, err error) { 2725 var done bool 2726 done, err = future.DoneWithContext(context.Background(), client) 2727 if err != nil { 2728 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsUpdateFuture", "Result", future.Response(), "Polling failure") 2729 return 2730 } 2731 if !done { 2732 dagr.Response.Response = future.Response() 2733 err = azure.NewAsyncOpIncompleteError("documentdb.DatabaseAccountsUpdateFuture") 2734 return 2735 } 2736 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 2737 if dagr.Response.Response, err = future.GetResult(sender); err == nil && dagr.Response.Response.StatusCode != http.StatusNoContent { 2738 dagr, err = client.UpdateResponder(dagr.Response.Response) 2739 if err != nil { 2740 err = autorest.NewErrorWithError(err, "documentdb.DatabaseAccountsUpdateFuture", "Result", dagr.Response.Response, "Failure responding to request") 2741 } 2742 } 2743 return 2744} 2745 2746// DatabaseAccountUpdateParameters parameters for patching Azure Cosmos DB database account properties. 2747type DatabaseAccountUpdateParameters struct { 2748 Tags map[string]*string `json:"tags"` 2749 // Location - The location of the resource group to which the resource belongs. 2750 Location *string `json:"location,omitempty"` 2751 Identity *ManagedServiceIdentity `json:"identity,omitempty"` 2752 *DatabaseAccountUpdateProperties `json:"properties,omitempty"` 2753} 2754 2755// MarshalJSON is the custom marshaler for DatabaseAccountUpdateParameters. 2756func (daup DatabaseAccountUpdateParameters) MarshalJSON() ([]byte, error) { 2757 objectMap := make(map[string]interface{}) 2758 if daup.Tags != nil { 2759 objectMap["tags"] = daup.Tags 2760 } 2761 if daup.Location != nil { 2762 objectMap["location"] = daup.Location 2763 } 2764 if daup.Identity != nil { 2765 objectMap["identity"] = daup.Identity 2766 } 2767 if daup.DatabaseAccountUpdateProperties != nil { 2768 objectMap["properties"] = daup.DatabaseAccountUpdateProperties 2769 } 2770 return json.Marshal(objectMap) 2771} 2772 2773// UnmarshalJSON is the custom unmarshaler for DatabaseAccountUpdateParameters struct. 2774func (daup *DatabaseAccountUpdateParameters) UnmarshalJSON(body []byte) error { 2775 var m map[string]*json.RawMessage 2776 err := json.Unmarshal(body, &m) 2777 if err != nil { 2778 return err 2779 } 2780 for k, v := range m { 2781 switch k { 2782 case "tags": 2783 if v != nil { 2784 var tags map[string]*string 2785 err = json.Unmarshal(*v, &tags) 2786 if err != nil { 2787 return err 2788 } 2789 daup.Tags = tags 2790 } 2791 case "location": 2792 if v != nil { 2793 var location string 2794 err = json.Unmarshal(*v, &location) 2795 if err != nil { 2796 return err 2797 } 2798 daup.Location = &location 2799 } 2800 case "identity": 2801 if v != nil { 2802 var identity ManagedServiceIdentity 2803 err = json.Unmarshal(*v, &identity) 2804 if err != nil { 2805 return err 2806 } 2807 daup.Identity = &identity 2808 } 2809 case "properties": 2810 if v != nil { 2811 var databaseAccountUpdateProperties DatabaseAccountUpdateProperties 2812 err = json.Unmarshal(*v, &databaseAccountUpdateProperties) 2813 if err != nil { 2814 return err 2815 } 2816 daup.DatabaseAccountUpdateProperties = &databaseAccountUpdateProperties 2817 } 2818 } 2819 } 2820 2821 return nil 2822} 2823 2824// DatabaseAccountUpdateProperties properties to update Azure Cosmos DB database accounts. 2825type DatabaseAccountUpdateProperties struct { 2826 // ConsistencyPolicy - The consistency policy for the Cosmos DB account. 2827 ConsistencyPolicy *ConsistencyPolicy `json:"consistencyPolicy,omitempty"` 2828 // Locations - An array that contains the georeplication locations enabled for the Cosmos DB account. 2829 Locations *[]Location `json:"locations,omitempty"` 2830 // IPRules - List of IpRules. 2831 IPRules *[]IPAddressOrRange `json:"ipRules,omitempty"` 2832 // IsVirtualNetworkFilterEnabled - Flag to indicate whether to enable/disable Virtual Network ACL rules. 2833 IsVirtualNetworkFilterEnabled *bool `json:"isVirtualNetworkFilterEnabled,omitempty"` 2834 // EnableAutomaticFailover - Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. 2835 EnableAutomaticFailover *bool `json:"enableAutomaticFailover,omitempty"` 2836 // Capabilities - List of Cosmos DB capabilities for the account 2837 Capabilities *[]Capability `json:"capabilities,omitempty"` 2838 // VirtualNetworkRules - List of Virtual Network ACL rules configured for the Cosmos DB account. 2839 VirtualNetworkRules *[]VirtualNetworkRule `json:"virtualNetworkRules,omitempty"` 2840 // EnableMultipleWriteLocations - Enables the account to write in multiple locations 2841 EnableMultipleWriteLocations *bool `json:"enableMultipleWriteLocations,omitempty"` 2842 // EnableCassandraConnector - Enables the cassandra connector on the Cosmos DB C* account 2843 EnableCassandraConnector *bool `json:"enableCassandraConnector,omitempty"` 2844 // ConnectorOffer - The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: 'ConnectorOfferSmall' 2845 ConnectorOffer ConnectorOffer `json:"connectorOffer,omitempty"` 2846 // DisableKeyBasedMetadataWriteAccess - Disable write operations on metadata resources (databases, containers, throughput) via account keys 2847 DisableKeyBasedMetadataWriteAccess *bool `json:"disableKeyBasedMetadataWriteAccess,omitempty"` 2848 // KeyVaultKeyURI - The URI of the key vault 2849 KeyVaultKeyURI *string `json:"keyVaultKeyUri,omitempty"` 2850 // DefaultIdentity - The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. 2851 DefaultIdentity *string `json:"defaultIdentity,omitempty"` 2852 // PublicNetworkAccess - Whether requests from Public Network are allowed. Possible values include: 'PublicNetworkAccessEnabled', 'PublicNetworkAccessDisabled' 2853 PublicNetworkAccess PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` 2854 // EnableFreeTier - Flag to indicate whether Free Tier is enabled. 2855 EnableFreeTier *bool `json:"enableFreeTier,omitempty"` 2856 // APIProperties - API specific properties. Currently, supported only for MongoDB API. 2857 APIProperties *APIProperties `json:"apiProperties,omitempty"` 2858 // EnableAnalyticalStorage - Flag to indicate whether to enable storage analytics. 2859 EnableAnalyticalStorage *bool `json:"enableAnalyticalStorage,omitempty"` 2860 // AnalyticalStorageConfiguration - Analytical storage specific properties. 2861 AnalyticalStorageConfiguration *AnalyticalStorageConfiguration `json:"analyticalStorageConfiguration,omitempty"` 2862 // BackupPolicy - The object representing the policy for taking backups on an account. 2863 BackupPolicy BasicBackupPolicy `json:"backupPolicy,omitempty"` 2864 // Cors - The CORS policy for the Cosmos DB database account. 2865 Cors *[]CorsPolicy `json:"cors,omitempty"` 2866 // NetworkACLBypass - Indicates what services are allowed to bypass firewall checks. Possible values include: 'NetworkACLBypassNone', 'NetworkACLBypassAzureServices' 2867 NetworkACLBypass NetworkACLBypass `json:"networkAclBypass,omitempty"` 2868 // NetworkACLBypassResourceIds - An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. 2869 NetworkACLBypassResourceIds *[]string `json:"networkAclBypassResourceIds,omitempty"` 2870 // DisableLocalAuth - Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. 2871 DisableLocalAuth *bool `json:"disableLocalAuth,omitempty"` 2872} 2873 2874// UnmarshalJSON is the custom unmarshaler for DatabaseAccountUpdateProperties struct. 2875func (daup *DatabaseAccountUpdateProperties) UnmarshalJSON(body []byte) error { 2876 var m map[string]*json.RawMessage 2877 err := json.Unmarshal(body, &m) 2878 if err != nil { 2879 return err 2880 } 2881 for k, v := range m { 2882 switch k { 2883 case "consistencyPolicy": 2884 if v != nil { 2885 var consistencyPolicy ConsistencyPolicy 2886 err = json.Unmarshal(*v, &consistencyPolicy) 2887 if err != nil { 2888 return err 2889 } 2890 daup.ConsistencyPolicy = &consistencyPolicy 2891 } 2892 case "locations": 2893 if v != nil { 2894 var locations []Location 2895 err = json.Unmarshal(*v, &locations) 2896 if err != nil { 2897 return err 2898 } 2899 daup.Locations = &locations 2900 } 2901 case "ipRules": 2902 if v != nil { 2903 var IPRules []IPAddressOrRange 2904 err = json.Unmarshal(*v, &IPRules) 2905 if err != nil { 2906 return err 2907 } 2908 daup.IPRules = &IPRules 2909 } 2910 case "isVirtualNetworkFilterEnabled": 2911 if v != nil { 2912 var isVirtualNetworkFilterEnabled bool 2913 err = json.Unmarshal(*v, &isVirtualNetworkFilterEnabled) 2914 if err != nil { 2915 return err 2916 } 2917 daup.IsVirtualNetworkFilterEnabled = &isVirtualNetworkFilterEnabled 2918 } 2919 case "enableAutomaticFailover": 2920 if v != nil { 2921 var enableAutomaticFailover bool 2922 err = json.Unmarshal(*v, &enableAutomaticFailover) 2923 if err != nil { 2924 return err 2925 } 2926 daup.EnableAutomaticFailover = &enableAutomaticFailover 2927 } 2928 case "capabilities": 2929 if v != nil { 2930 var capabilities []Capability 2931 err = json.Unmarshal(*v, &capabilities) 2932 if err != nil { 2933 return err 2934 } 2935 daup.Capabilities = &capabilities 2936 } 2937 case "virtualNetworkRules": 2938 if v != nil { 2939 var virtualNetworkRules []VirtualNetworkRule 2940 err = json.Unmarshal(*v, &virtualNetworkRules) 2941 if err != nil { 2942 return err 2943 } 2944 daup.VirtualNetworkRules = &virtualNetworkRules 2945 } 2946 case "enableMultipleWriteLocations": 2947 if v != nil { 2948 var enableMultipleWriteLocations bool 2949 err = json.Unmarshal(*v, &enableMultipleWriteLocations) 2950 if err != nil { 2951 return err 2952 } 2953 daup.EnableMultipleWriteLocations = &enableMultipleWriteLocations 2954 } 2955 case "enableCassandraConnector": 2956 if v != nil { 2957 var enableCassandraConnector bool 2958 err = json.Unmarshal(*v, &enableCassandraConnector) 2959 if err != nil { 2960 return err 2961 } 2962 daup.EnableCassandraConnector = &enableCassandraConnector 2963 } 2964 case "connectorOffer": 2965 if v != nil { 2966 var connectorOffer ConnectorOffer 2967 err = json.Unmarshal(*v, &connectorOffer) 2968 if err != nil { 2969 return err 2970 } 2971 daup.ConnectorOffer = connectorOffer 2972 } 2973 case "disableKeyBasedMetadataWriteAccess": 2974 if v != nil { 2975 var disableKeyBasedMetadataWriteAccess bool 2976 err = json.Unmarshal(*v, &disableKeyBasedMetadataWriteAccess) 2977 if err != nil { 2978 return err 2979 } 2980 daup.DisableKeyBasedMetadataWriteAccess = &disableKeyBasedMetadataWriteAccess 2981 } 2982 case "keyVaultKeyUri": 2983 if v != nil { 2984 var keyVaultKeyURI string 2985 err = json.Unmarshal(*v, &keyVaultKeyURI) 2986 if err != nil { 2987 return err 2988 } 2989 daup.KeyVaultKeyURI = &keyVaultKeyURI 2990 } 2991 case "defaultIdentity": 2992 if v != nil { 2993 var defaultIdentity string 2994 err = json.Unmarshal(*v, &defaultIdentity) 2995 if err != nil { 2996 return err 2997 } 2998 daup.DefaultIdentity = &defaultIdentity 2999 } 3000 case "publicNetworkAccess": 3001 if v != nil { 3002 var publicNetworkAccess PublicNetworkAccess 3003 err = json.Unmarshal(*v, &publicNetworkAccess) 3004 if err != nil { 3005 return err 3006 } 3007 daup.PublicNetworkAccess = publicNetworkAccess 3008 } 3009 case "enableFreeTier": 3010 if v != nil { 3011 var enableFreeTier bool 3012 err = json.Unmarshal(*v, &enableFreeTier) 3013 if err != nil { 3014 return err 3015 } 3016 daup.EnableFreeTier = &enableFreeTier 3017 } 3018 case "apiProperties": 3019 if v != nil { 3020 var APIProperties APIProperties 3021 err = json.Unmarshal(*v, &APIProperties) 3022 if err != nil { 3023 return err 3024 } 3025 daup.APIProperties = &APIProperties 3026 } 3027 case "enableAnalyticalStorage": 3028 if v != nil { 3029 var enableAnalyticalStorage bool 3030 err = json.Unmarshal(*v, &enableAnalyticalStorage) 3031 if err != nil { 3032 return err 3033 } 3034 daup.EnableAnalyticalStorage = &enableAnalyticalStorage 3035 } 3036 case "analyticalStorageConfiguration": 3037 if v != nil { 3038 var analyticalStorageConfiguration AnalyticalStorageConfiguration 3039 err = json.Unmarshal(*v, &analyticalStorageConfiguration) 3040 if err != nil { 3041 return err 3042 } 3043 daup.AnalyticalStorageConfiguration = &analyticalStorageConfiguration 3044 } 3045 case "backupPolicy": 3046 if v != nil { 3047 backupPolicy, err := unmarshalBasicBackupPolicy(*v) 3048 if err != nil { 3049 return err 3050 } 3051 daup.BackupPolicy = backupPolicy 3052 } 3053 case "cors": 3054 if v != nil { 3055 var cors []CorsPolicy 3056 err = json.Unmarshal(*v, &cors) 3057 if err != nil { 3058 return err 3059 } 3060 daup.Cors = &cors 3061 } 3062 case "networkAclBypass": 3063 if v != nil { 3064 var networkACLBypass NetworkACLBypass 3065 err = json.Unmarshal(*v, &networkACLBypass) 3066 if err != nil { 3067 return err 3068 } 3069 daup.NetworkACLBypass = networkACLBypass 3070 } 3071 case "networkAclBypassResourceIds": 3072 if v != nil { 3073 var networkACLBypassResourceIds []string 3074 err = json.Unmarshal(*v, &networkACLBypassResourceIds) 3075 if err != nil { 3076 return err 3077 } 3078 daup.NetworkACLBypassResourceIds = &networkACLBypassResourceIds 3079 } 3080 case "disableLocalAuth": 3081 if v != nil { 3082 var disableLocalAuth bool 3083 err = json.Unmarshal(*v, &disableLocalAuth) 3084 if err != nil { 3085 return err 3086 } 3087 daup.DisableLocalAuth = &disableLocalAuth 3088 } 3089 } 3090 } 3091 3092 return nil 3093} 3094 3095// DatabaseRestoreResource specific Databases to restore. 3096type DatabaseRestoreResource struct { 3097 // DatabaseName - The name of the database available for restore. 3098 DatabaseName *string `json:"databaseName,omitempty"` 3099 // CollectionNames - The names of the collections available for restore. 3100 CollectionNames *[]string `json:"collectionNames,omitempty"` 3101} 3102 3103// ErrorResponse error Response. 3104type ErrorResponse struct { 3105 // Code - Error code. 3106 Code *string `json:"code,omitempty"` 3107 // Message - Error message indicating why the operation failed. 3108 Message *string `json:"message,omitempty"` 3109} 3110 3111// ExcludedPath ... 3112type ExcludedPath struct { 3113 // Path - The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) 3114 Path *string `json:"path,omitempty"` 3115} 3116 3117// ExtendedResourceProperties the system generated resource properties associated with SQL databases, SQL 3118// containers, Gremlin databases and Gremlin graphs. 3119type ExtendedResourceProperties struct { 3120 // Rid - READ-ONLY; A system generated property. A unique identifier. 3121 Rid *string `json:"_rid,omitempty"` 3122 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 3123 Ts *float64 `json:"_ts,omitempty"` 3124 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 3125 Etag *string `json:"_etag,omitempty"` 3126} 3127 3128// MarshalJSON is the custom marshaler for ExtendedResourceProperties. 3129func (erp ExtendedResourceProperties) MarshalJSON() ([]byte, error) { 3130 objectMap := make(map[string]interface{}) 3131 return json.Marshal(objectMap) 3132} 3133 3134// FailoverPolicies the list of new failover policies for the failover priority change. 3135type FailoverPolicies struct { 3136 // FailoverPolicies - List of failover policies. 3137 FailoverPolicies *[]FailoverPolicy `json:"failoverPolicies,omitempty"` 3138} 3139 3140// FailoverPolicy the failover policy for a given region of a database account. 3141type FailoverPolicy struct { 3142 // ID - READ-ONLY; The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>. 3143 ID *string `json:"id,omitempty"` 3144 // LocationName - The name of the region in which the database account exists. 3145 LocationName *string `json:"locationName,omitempty"` 3146 // FailoverPriority - The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. 3147 FailoverPriority *int32 `json:"failoverPriority,omitempty"` 3148} 3149 3150// MarshalJSON is the custom marshaler for FailoverPolicy. 3151func (fp FailoverPolicy) MarshalJSON() ([]byte, error) { 3152 objectMap := make(map[string]interface{}) 3153 if fp.LocationName != nil { 3154 objectMap["locationName"] = fp.LocationName 3155 } 3156 if fp.FailoverPriority != nil { 3157 objectMap["failoverPriority"] = fp.FailoverPriority 3158 } 3159 return json.Marshal(objectMap) 3160} 3161 3162// GremlinDatabaseCreateUpdateParameters parameters to create and update Cosmos DB Gremlin database. 3163type GremlinDatabaseCreateUpdateParameters struct { 3164 // GremlinDatabaseCreateUpdateProperties - Properties to create and update Azure Cosmos DB Gremlin database. 3165 *GremlinDatabaseCreateUpdateProperties `json:"properties,omitempty"` 3166 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 3167 ID *string `json:"id,omitempty"` 3168 // Name - READ-ONLY; The name of the ARM resource. 3169 Name *string `json:"name,omitempty"` 3170 // Type - READ-ONLY; The type of Azure resource. 3171 Type *string `json:"type,omitempty"` 3172 // Location - The location of the resource group to which the resource belongs. 3173 Location *string `json:"location,omitempty"` 3174 Tags map[string]*string `json:"tags"` 3175} 3176 3177// MarshalJSON is the custom marshaler for GremlinDatabaseCreateUpdateParameters. 3178func (gdcup GremlinDatabaseCreateUpdateParameters) MarshalJSON() ([]byte, error) { 3179 objectMap := make(map[string]interface{}) 3180 if gdcup.GremlinDatabaseCreateUpdateProperties != nil { 3181 objectMap["properties"] = gdcup.GremlinDatabaseCreateUpdateProperties 3182 } 3183 if gdcup.Location != nil { 3184 objectMap["location"] = gdcup.Location 3185 } 3186 if gdcup.Tags != nil { 3187 objectMap["tags"] = gdcup.Tags 3188 } 3189 return json.Marshal(objectMap) 3190} 3191 3192// UnmarshalJSON is the custom unmarshaler for GremlinDatabaseCreateUpdateParameters struct. 3193func (gdcup *GremlinDatabaseCreateUpdateParameters) UnmarshalJSON(body []byte) error { 3194 var m map[string]*json.RawMessage 3195 err := json.Unmarshal(body, &m) 3196 if err != nil { 3197 return err 3198 } 3199 for k, v := range m { 3200 switch k { 3201 case "properties": 3202 if v != nil { 3203 var gremlinDatabaseCreateUpdateProperties GremlinDatabaseCreateUpdateProperties 3204 err = json.Unmarshal(*v, &gremlinDatabaseCreateUpdateProperties) 3205 if err != nil { 3206 return err 3207 } 3208 gdcup.GremlinDatabaseCreateUpdateProperties = &gremlinDatabaseCreateUpdateProperties 3209 } 3210 case "id": 3211 if v != nil { 3212 var ID string 3213 err = json.Unmarshal(*v, &ID) 3214 if err != nil { 3215 return err 3216 } 3217 gdcup.ID = &ID 3218 } 3219 case "name": 3220 if v != nil { 3221 var name string 3222 err = json.Unmarshal(*v, &name) 3223 if err != nil { 3224 return err 3225 } 3226 gdcup.Name = &name 3227 } 3228 case "type": 3229 if v != nil { 3230 var typeVar string 3231 err = json.Unmarshal(*v, &typeVar) 3232 if err != nil { 3233 return err 3234 } 3235 gdcup.Type = &typeVar 3236 } 3237 case "location": 3238 if v != nil { 3239 var location string 3240 err = json.Unmarshal(*v, &location) 3241 if err != nil { 3242 return err 3243 } 3244 gdcup.Location = &location 3245 } 3246 case "tags": 3247 if v != nil { 3248 var tags map[string]*string 3249 err = json.Unmarshal(*v, &tags) 3250 if err != nil { 3251 return err 3252 } 3253 gdcup.Tags = tags 3254 } 3255 } 3256 } 3257 3258 return nil 3259} 3260 3261// GremlinDatabaseCreateUpdateProperties properties to create and update Azure Cosmos DB Gremlin database. 3262type GremlinDatabaseCreateUpdateProperties struct { 3263 // Resource - The standard JSON format of a Gremlin database 3264 Resource *GremlinDatabaseResource `json:"resource,omitempty"` 3265 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 3266 Options *CreateUpdateOptions `json:"options,omitempty"` 3267} 3268 3269// GremlinDatabaseGetProperties the properties of an Azure Cosmos DB SQL database 3270type GremlinDatabaseGetProperties struct { 3271 Resource *GremlinDatabaseGetPropertiesResource `json:"resource,omitempty"` 3272 Options *GremlinDatabaseGetPropertiesOptions `json:"options,omitempty"` 3273} 3274 3275// GremlinDatabaseGetPropertiesOptions ... 3276type GremlinDatabaseGetPropertiesOptions struct { 3277 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 3278 Throughput *int32 `json:"throughput,omitempty"` 3279 // AutoscaleSettings - Specifies the Autoscale settings. 3280 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 3281} 3282 3283// GremlinDatabaseGetPropertiesResource ... 3284type GremlinDatabaseGetPropertiesResource struct { 3285 // ID - Name of the Cosmos DB Gremlin database 3286 ID *string `json:"id,omitempty"` 3287 // Rid - READ-ONLY; A system generated property. A unique identifier. 3288 Rid *string `json:"_rid,omitempty"` 3289 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 3290 Ts *float64 `json:"_ts,omitempty"` 3291 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 3292 Etag *string `json:"_etag,omitempty"` 3293} 3294 3295// MarshalJSON is the custom marshaler for GremlinDatabaseGetPropertiesResource. 3296func (gdgp GremlinDatabaseGetPropertiesResource) MarshalJSON() ([]byte, error) { 3297 objectMap := make(map[string]interface{}) 3298 if gdgp.ID != nil { 3299 objectMap["id"] = gdgp.ID 3300 } 3301 return json.Marshal(objectMap) 3302} 3303 3304// GremlinDatabaseGetResults an Azure Cosmos DB Gremlin database. 3305type GremlinDatabaseGetResults struct { 3306 autorest.Response `json:"-"` 3307 // GremlinDatabaseGetProperties - The properties of an Azure Cosmos DB SQL database 3308 *GremlinDatabaseGetProperties `json:"properties,omitempty"` 3309 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 3310 ID *string `json:"id,omitempty"` 3311 // Name - READ-ONLY; The name of the ARM resource. 3312 Name *string `json:"name,omitempty"` 3313 // Type - READ-ONLY; The type of Azure resource. 3314 Type *string `json:"type,omitempty"` 3315 // Location - The location of the resource group to which the resource belongs. 3316 Location *string `json:"location,omitempty"` 3317 Tags map[string]*string `json:"tags"` 3318} 3319 3320// MarshalJSON is the custom marshaler for GremlinDatabaseGetResults. 3321func (gdgr GremlinDatabaseGetResults) MarshalJSON() ([]byte, error) { 3322 objectMap := make(map[string]interface{}) 3323 if gdgr.GremlinDatabaseGetProperties != nil { 3324 objectMap["properties"] = gdgr.GremlinDatabaseGetProperties 3325 } 3326 if gdgr.Location != nil { 3327 objectMap["location"] = gdgr.Location 3328 } 3329 if gdgr.Tags != nil { 3330 objectMap["tags"] = gdgr.Tags 3331 } 3332 return json.Marshal(objectMap) 3333} 3334 3335// UnmarshalJSON is the custom unmarshaler for GremlinDatabaseGetResults struct. 3336func (gdgr *GremlinDatabaseGetResults) UnmarshalJSON(body []byte) error { 3337 var m map[string]*json.RawMessage 3338 err := json.Unmarshal(body, &m) 3339 if err != nil { 3340 return err 3341 } 3342 for k, v := range m { 3343 switch k { 3344 case "properties": 3345 if v != nil { 3346 var gremlinDatabaseGetProperties GremlinDatabaseGetProperties 3347 err = json.Unmarshal(*v, &gremlinDatabaseGetProperties) 3348 if err != nil { 3349 return err 3350 } 3351 gdgr.GremlinDatabaseGetProperties = &gremlinDatabaseGetProperties 3352 } 3353 case "id": 3354 if v != nil { 3355 var ID string 3356 err = json.Unmarshal(*v, &ID) 3357 if err != nil { 3358 return err 3359 } 3360 gdgr.ID = &ID 3361 } 3362 case "name": 3363 if v != nil { 3364 var name string 3365 err = json.Unmarshal(*v, &name) 3366 if err != nil { 3367 return err 3368 } 3369 gdgr.Name = &name 3370 } 3371 case "type": 3372 if v != nil { 3373 var typeVar string 3374 err = json.Unmarshal(*v, &typeVar) 3375 if err != nil { 3376 return err 3377 } 3378 gdgr.Type = &typeVar 3379 } 3380 case "location": 3381 if v != nil { 3382 var location string 3383 err = json.Unmarshal(*v, &location) 3384 if err != nil { 3385 return err 3386 } 3387 gdgr.Location = &location 3388 } 3389 case "tags": 3390 if v != nil { 3391 var tags map[string]*string 3392 err = json.Unmarshal(*v, &tags) 3393 if err != nil { 3394 return err 3395 } 3396 gdgr.Tags = tags 3397 } 3398 } 3399 } 3400 3401 return nil 3402} 3403 3404// GremlinDatabaseListResult the List operation response, that contains the Gremlin databases and their 3405// properties. 3406type GremlinDatabaseListResult struct { 3407 autorest.Response `json:"-"` 3408 // Value - READ-ONLY; List of Gremlin databases and their properties. 3409 Value *[]GremlinDatabaseGetResults `json:"value,omitempty"` 3410} 3411 3412// MarshalJSON is the custom marshaler for GremlinDatabaseListResult. 3413func (gdlr GremlinDatabaseListResult) MarshalJSON() ([]byte, error) { 3414 objectMap := make(map[string]interface{}) 3415 return json.Marshal(objectMap) 3416} 3417 3418// GremlinDatabaseResource cosmos DB Gremlin database resource object 3419type GremlinDatabaseResource struct { 3420 // ID - Name of the Cosmos DB Gremlin database 3421 ID *string `json:"id,omitempty"` 3422} 3423 3424// GremlinGraphCreateUpdateParameters parameters to create and update Cosmos DB Gremlin graph. 3425type GremlinGraphCreateUpdateParameters struct { 3426 // GremlinGraphCreateUpdateProperties - Properties to create and update Azure Cosmos DB Gremlin graph. 3427 *GremlinGraphCreateUpdateProperties `json:"properties,omitempty"` 3428 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 3429 ID *string `json:"id,omitempty"` 3430 // Name - READ-ONLY; The name of the ARM resource. 3431 Name *string `json:"name,omitempty"` 3432 // Type - READ-ONLY; The type of Azure resource. 3433 Type *string `json:"type,omitempty"` 3434 // Location - The location of the resource group to which the resource belongs. 3435 Location *string `json:"location,omitempty"` 3436 Tags map[string]*string `json:"tags"` 3437} 3438 3439// MarshalJSON is the custom marshaler for GremlinGraphCreateUpdateParameters. 3440func (ggcup GremlinGraphCreateUpdateParameters) MarshalJSON() ([]byte, error) { 3441 objectMap := make(map[string]interface{}) 3442 if ggcup.GremlinGraphCreateUpdateProperties != nil { 3443 objectMap["properties"] = ggcup.GremlinGraphCreateUpdateProperties 3444 } 3445 if ggcup.Location != nil { 3446 objectMap["location"] = ggcup.Location 3447 } 3448 if ggcup.Tags != nil { 3449 objectMap["tags"] = ggcup.Tags 3450 } 3451 return json.Marshal(objectMap) 3452} 3453 3454// UnmarshalJSON is the custom unmarshaler for GremlinGraphCreateUpdateParameters struct. 3455func (ggcup *GremlinGraphCreateUpdateParameters) UnmarshalJSON(body []byte) error { 3456 var m map[string]*json.RawMessage 3457 err := json.Unmarshal(body, &m) 3458 if err != nil { 3459 return err 3460 } 3461 for k, v := range m { 3462 switch k { 3463 case "properties": 3464 if v != nil { 3465 var gremlinGraphCreateUpdateProperties GremlinGraphCreateUpdateProperties 3466 err = json.Unmarshal(*v, &gremlinGraphCreateUpdateProperties) 3467 if err != nil { 3468 return err 3469 } 3470 ggcup.GremlinGraphCreateUpdateProperties = &gremlinGraphCreateUpdateProperties 3471 } 3472 case "id": 3473 if v != nil { 3474 var ID string 3475 err = json.Unmarshal(*v, &ID) 3476 if err != nil { 3477 return err 3478 } 3479 ggcup.ID = &ID 3480 } 3481 case "name": 3482 if v != nil { 3483 var name string 3484 err = json.Unmarshal(*v, &name) 3485 if err != nil { 3486 return err 3487 } 3488 ggcup.Name = &name 3489 } 3490 case "type": 3491 if v != nil { 3492 var typeVar string 3493 err = json.Unmarshal(*v, &typeVar) 3494 if err != nil { 3495 return err 3496 } 3497 ggcup.Type = &typeVar 3498 } 3499 case "location": 3500 if v != nil { 3501 var location string 3502 err = json.Unmarshal(*v, &location) 3503 if err != nil { 3504 return err 3505 } 3506 ggcup.Location = &location 3507 } 3508 case "tags": 3509 if v != nil { 3510 var tags map[string]*string 3511 err = json.Unmarshal(*v, &tags) 3512 if err != nil { 3513 return err 3514 } 3515 ggcup.Tags = tags 3516 } 3517 } 3518 } 3519 3520 return nil 3521} 3522 3523// GremlinGraphCreateUpdateProperties properties to create and update Azure Cosmos DB Gremlin graph. 3524type GremlinGraphCreateUpdateProperties struct { 3525 // Resource - The standard JSON format of a Gremlin graph 3526 Resource *GremlinGraphResource `json:"resource,omitempty"` 3527 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 3528 Options *CreateUpdateOptions `json:"options,omitempty"` 3529} 3530 3531// GremlinGraphGetProperties the properties of an Azure Cosmos DB Gremlin graph 3532type GremlinGraphGetProperties struct { 3533 Resource *GremlinGraphGetPropertiesResource `json:"resource,omitempty"` 3534 Options *GremlinGraphGetPropertiesOptions `json:"options,omitempty"` 3535} 3536 3537// GremlinGraphGetPropertiesOptions ... 3538type GremlinGraphGetPropertiesOptions struct { 3539 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 3540 Throughput *int32 `json:"throughput,omitempty"` 3541 // AutoscaleSettings - Specifies the Autoscale settings. 3542 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 3543} 3544 3545// GremlinGraphGetPropertiesResource ... 3546type GremlinGraphGetPropertiesResource struct { 3547 // ID - Name of the Cosmos DB Gremlin graph 3548 ID *string `json:"id,omitempty"` 3549 // IndexingPolicy - The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph 3550 IndexingPolicy *IndexingPolicy `json:"indexingPolicy,omitempty"` 3551 // PartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions 3552 PartitionKey *ContainerPartitionKey `json:"partitionKey,omitempty"` 3553 // DefaultTTL - Default time to live 3554 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 3555 // UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. 3556 UniqueKeyPolicy *UniqueKeyPolicy `json:"uniqueKeyPolicy,omitempty"` 3557 // ConflictResolutionPolicy - The conflict resolution policy for the graph. 3558 ConflictResolutionPolicy *ConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` 3559 // Rid - READ-ONLY; A system generated property. A unique identifier. 3560 Rid *string `json:"_rid,omitempty"` 3561 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 3562 Ts *float64 `json:"_ts,omitempty"` 3563 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 3564 Etag *string `json:"_etag,omitempty"` 3565} 3566 3567// MarshalJSON is the custom marshaler for GremlinGraphGetPropertiesResource. 3568func (gggp GremlinGraphGetPropertiesResource) MarshalJSON() ([]byte, error) { 3569 objectMap := make(map[string]interface{}) 3570 if gggp.ID != nil { 3571 objectMap["id"] = gggp.ID 3572 } 3573 if gggp.IndexingPolicy != nil { 3574 objectMap["indexingPolicy"] = gggp.IndexingPolicy 3575 } 3576 if gggp.PartitionKey != nil { 3577 objectMap["partitionKey"] = gggp.PartitionKey 3578 } 3579 if gggp.DefaultTTL != nil { 3580 objectMap["defaultTtl"] = gggp.DefaultTTL 3581 } 3582 if gggp.UniqueKeyPolicy != nil { 3583 objectMap["uniqueKeyPolicy"] = gggp.UniqueKeyPolicy 3584 } 3585 if gggp.ConflictResolutionPolicy != nil { 3586 objectMap["conflictResolutionPolicy"] = gggp.ConflictResolutionPolicy 3587 } 3588 return json.Marshal(objectMap) 3589} 3590 3591// GremlinGraphGetResults an Azure Cosmos DB Gremlin graph. 3592type GremlinGraphGetResults struct { 3593 autorest.Response `json:"-"` 3594 // GremlinGraphGetProperties - The properties of an Azure Cosmos DB Gremlin graph 3595 *GremlinGraphGetProperties `json:"properties,omitempty"` 3596 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 3597 ID *string `json:"id,omitempty"` 3598 // Name - READ-ONLY; The name of the ARM resource. 3599 Name *string `json:"name,omitempty"` 3600 // Type - READ-ONLY; The type of Azure resource. 3601 Type *string `json:"type,omitempty"` 3602 // Location - The location of the resource group to which the resource belongs. 3603 Location *string `json:"location,omitempty"` 3604 Tags map[string]*string `json:"tags"` 3605} 3606 3607// MarshalJSON is the custom marshaler for GremlinGraphGetResults. 3608func (gggr GremlinGraphGetResults) MarshalJSON() ([]byte, error) { 3609 objectMap := make(map[string]interface{}) 3610 if gggr.GremlinGraphGetProperties != nil { 3611 objectMap["properties"] = gggr.GremlinGraphGetProperties 3612 } 3613 if gggr.Location != nil { 3614 objectMap["location"] = gggr.Location 3615 } 3616 if gggr.Tags != nil { 3617 objectMap["tags"] = gggr.Tags 3618 } 3619 return json.Marshal(objectMap) 3620} 3621 3622// UnmarshalJSON is the custom unmarshaler for GremlinGraphGetResults struct. 3623func (gggr *GremlinGraphGetResults) UnmarshalJSON(body []byte) error { 3624 var m map[string]*json.RawMessage 3625 err := json.Unmarshal(body, &m) 3626 if err != nil { 3627 return err 3628 } 3629 for k, v := range m { 3630 switch k { 3631 case "properties": 3632 if v != nil { 3633 var gremlinGraphGetProperties GremlinGraphGetProperties 3634 err = json.Unmarshal(*v, &gremlinGraphGetProperties) 3635 if err != nil { 3636 return err 3637 } 3638 gggr.GremlinGraphGetProperties = &gremlinGraphGetProperties 3639 } 3640 case "id": 3641 if v != nil { 3642 var ID string 3643 err = json.Unmarshal(*v, &ID) 3644 if err != nil { 3645 return err 3646 } 3647 gggr.ID = &ID 3648 } 3649 case "name": 3650 if v != nil { 3651 var name string 3652 err = json.Unmarshal(*v, &name) 3653 if err != nil { 3654 return err 3655 } 3656 gggr.Name = &name 3657 } 3658 case "type": 3659 if v != nil { 3660 var typeVar string 3661 err = json.Unmarshal(*v, &typeVar) 3662 if err != nil { 3663 return err 3664 } 3665 gggr.Type = &typeVar 3666 } 3667 case "location": 3668 if v != nil { 3669 var location string 3670 err = json.Unmarshal(*v, &location) 3671 if err != nil { 3672 return err 3673 } 3674 gggr.Location = &location 3675 } 3676 case "tags": 3677 if v != nil { 3678 var tags map[string]*string 3679 err = json.Unmarshal(*v, &tags) 3680 if err != nil { 3681 return err 3682 } 3683 gggr.Tags = tags 3684 } 3685 } 3686 } 3687 3688 return nil 3689} 3690 3691// GremlinGraphListResult the List operation response, that contains the graphs and their properties. 3692type GremlinGraphListResult struct { 3693 autorest.Response `json:"-"` 3694 // Value - READ-ONLY; List of graphs and their properties. 3695 Value *[]GremlinGraphGetResults `json:"value,omitempty"` 3696} 3697 3698// MarshalJSON is the custom marshaler for GremlinGraphListResult. 3699func (gglr GremlinGraphListResult) MarshalJSON() ([]byte, error) { 3700 objectMap := make(map[string]interface{}) 3701 return json.Marshal(objectMap) 3702} 3703 3704// GremlinGraphResource cosmos DB Gremlin graph resource object 3705type GremlinGraphResource struct { 3706 // ID - Name of the Cosmos DB Gremlin graph 3707 ID *string `json:"id,omitempty"` 3708 // IndexingPolicy - The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph 3709 IndexingPolicy *IndexingPolicy `json:"indexingPolicy,omitempty"` 3710 // PartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions 3711 PartitionKey *ContainerPartitionKey `json:"partitionKey,omitempty"` 3712 // DefaultTTL - Default time to live 3713 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 3714 // UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. 3715 UniqueKeyPolicy *UniqueKeyPolicy `json:"uniqueKeyPolicy,omitempty"` 3716 // ConflictResolutionPolicy - The conflict resolution policy for the graph. 3717 ConflictResolutionPolicy *ConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` 3718} 3719 3720// GremlinResourcesCreateUpdateGremlinDatabaseFuture an abstraction for monitoring and retrieving the 3721// results of a long-running operation. 3722type GremlinResourcesCreateUpdateGremlinDatabaseFuture struct { 3723 azure.FutureAPI 3724 // Result returns the result of the asynchronous operation. 3725 // If the operation has not completed it will return an error. 3726 Result func(GremlinResourcesClient) (GremlinDatabaseGetResults, error) 3727} 3728 3729// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3730func (future *GremlinResourcesCreateUpdateGremlinDatabaseFuture) UnmarshalJSON(body []byte) error { 3731 var azFuture azure.Future 3732 if err := json.Unmarshal(body, &azFuture); err != nil { 3733 return err 3734 } 3735 future.FutureAPI = &azFuture 3736 future.Result = future.result 3737 return nil 3738} 3739 3740// result is the default implementation for GremlinResourcesCreateUpdateGremlinDatabaseFuture.Result. 3741func (future *GremlinResourcesCreateUpdateGremlinDatabaseFuture) result(client GremlinResourcesClient) (gdgr GremlinDatabaseGetResults, err error) { 3742 var done bool 3743 done, err = future.DoneWithContext(context.Background(), client) 3744 if err != nil { 3745 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesCreateUpdateGremlinDatabaseFuture", "Result", future.Response(), "Polling failure") 3746 return 3747 } 3748 if !done { 3749 gdgr.Response.Response = future.Response() 3750 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesCreateUpdateGremlinDatabaseFuture") 3751 return 3752 } 3753 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3754 if gdgr.Response.Response, err = future.GetResult(sender); err == nil && gdgr.Response.Response.StatusCode != http.StatusNoContent { 3755 gdgr, err = client.CreateUpdateGremlinDatabaseResponder(gdgr.Response.Response) 3756 if err != nil { 3757 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesCreateUpdateGremlinDatabaseFuture", "Result", gdgr.Response.Response, "Failure responding to request") 3758 } 3759 } 3760 return 3761} 3762 3763// GremlinResourcesCreateUpdateGremlinGraphFuture an abstraction for monitoring and retrieving the results 3764// of a long-running operation. 3765type GremlinResourcesCreateUpdateGremlinGraphFuture struct { 3766 azure.FutureAPI 3767 // Result returns the result of the asynchronous operation. 3768 // If the operation has not completed it will return an error. 3769 Result func(GremlinResourcesClient) (GremlinGraphGetResults, error) 3770} 3771 3772// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3773func (future *GremlinResourcesCreateUpdateGremlinGraphFuture) UnmarshalJSON(body []byte) error { 3774 var azFuture azure.Future 3775 if err := json.Unmarshal(body, &azFuture); err != nil { 3776 return err 3777 } 3778 future.FutureAPI = &azFuture 3779 future.Result = future.result 3780 return nil 3781} 3782 3783// result is the default implementation for GremlinResourcesCreateUpdateGremlinGraphFuture.Result. 3784func (future *GremlinResourcesCreateUpdateGremlinGraphFuture) result(client GremlinResourcesClient) (gggr GremlinGraphGetResults, err error) { 3785 var done bool 3786 done, err = future.DoneWithContext(context.Background(), client) 3787 if err != nil { 3788 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesCreateUpdateGremlinGraphFuture", "Result", future.Response(), "Polling failure") 3789 return 3790 } 3791 if !done { 3792 gggr.Response.Response = future.Response() 3793 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesCreateUpdateGremlinGraphFuture") 3794 return 3795 } 3796 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3797 if gggr.Response.Response, err = future.GetResult(sender); err == nil && gggr.Response.Response.StatusCode != http.StatusNoContent { 3798 gggr, err = client.CreateUpdateGremlinGraphResponder(gggr.Response.Response) 3799 if err != nil { 3800 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesCreateUpdateGremlinGraphFuture", "Result", gggr.Response.Response, "Failure responding to request") 3801 } 3802 } 3803 return 3804} 3805 3806// GremlinResourcesDeleteGremlinDatabaseFuture an abstraction for monitoring and retrieving the results of 3807// a long-running operation. 3808type GremlinResourcesDeleteGremlinDatabaseFuture struct { 3809 azure.FutureAPI 3810 // Result returns the result of the asynchronous operation. 3811 // If the operation has not completed it will return an error. 3812 Result func(GremlinResourcesClient) (autorest.Response, error) 3813} 3814 3815// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3816func (future *GremlinResourcesDeleteGremlinDatabaseFuture) UnmarshalJSON(body []byte) error { 3817 var azFuture azure.Future 3818 if err := json.Unmarshal(body, &azFuture); err != nil { 3819 return err 3820 } 3821 future.FutureAPI = &azFuture 3822 future.Result = future.result 3823 return nil 3824} 3825 3826// result is the default implementation for GremlinResourcesDeleteGremlinDatabaseFuture.Result. 3827func (future *GremlinResourcesDeleteGremlinDatabaseFuture) result(client GremlinResourcesClient) (ar autorest.Response, err error) { 3828 var done bool 3829 done, err = future.DoneWithContext(context.Background(), client) 3830 if err != nil { 3831 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesDeleteGremlinDatabaseFuture", "Result", future.Response(), "Polling failure") 3832 return 3833 } 3834 if !done { 3835 ar.Response = future.Response() 3836 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesDeleteGremlinDatabaseFuture") 3837 return 3838 } 3839 ar.Response = future.Response() 3840 return 3841} 3842 3843// GremlinResourcesDeleteGremlinGraphFuture an abstraction for monitoring and retrieving the results of a 3844// long-running operation. 3845type GremlinResourcesDeleteGremlinGraphFuture struct { 3846 azure.FutureAPI 3847 // Result returns the result of the asynchronous operation. 3848 // If the operation has not completed it will return an error. 3849 Result func(GremlinResourcesClient) (autorest.Response, error) 3850} 3851 3852// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3853func (future *GremlinResourcesDeleteGremlinGraphFuture) UnmarshalJSON(body []byte) error { 3854 var azFuture azure.Future 3855 if err := json.Unmarshal(body, &azFuture); err != nil { 3856 return err 3857 } 3858 future.FutureAPI = &azFuture 3859 future.Result = future.result 3860 return nil 3861} 3862 3863// result is the default implementation for GremlinResourcesDeleteGremlinGraphFuture.Result. 3864func (future *GremlinResourcesDeleteGremlinGraphFuture) result(client GremlinResourcesClient) (ar autorest.Response, err error) { 3865 var done bool 3866 done, err = future.DoneWithContext(context.Background(), client) 3867 if err != nil { 3868 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesDeleteGremlinGraphFuture", "Result", future.Response(), "Polling failure") 3869 return 3870 } 3871 if !done { 3872 ar.Response = future.Response() 3873 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesDeleteGremlinGraphFuture") 3874 return 3875 } 3876 ar.Response = future.Response() 3877 return 3878} 3879 3880// GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture an abstraction for monitoring and retrieving the 3881// results of a long-running operation. 3882type GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture struct { 3883 azure.FutureAPI 3884 // Result returns the result of the asynchronous operation. 3885 // If the operation has not completed it will return an error. 3886 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 3887} 3888 3889// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3890func (future *GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture) UnmarshalJSON(body []byte) error { 3891 var azFuture azure.Future 3892 if err := json.Unmarshal(body, &azFuture); err != nil { 3893 return err 3894 } 3895 future.FutureAPI = &azFuture 3896 future.Result = future.result 3897 return nil 3898} 3899 3900// result is the default implementation for GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture.Result. 3901func (future *GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 3902 var done bool 3903 done, err = future.DoneWithContext(context.Background(), client) 3904 if err != nil { 3905 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture", "Result", future.Response(), "Polling failure") 3906 return 3907 } 3908 if !done { 3909 tsgr.Response.Response = future.Response() 3910 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture") 3911 return 3912 } 3913 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3914 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 3915 tsgr, err = client.MigrateGremlinDatabaseToAutoscaleResponder(tsgr.Response.Response) 3916 if err != nil { 3917 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinDatabaseToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 3918 } 3919 } 3920 return 3921} 3922 3923// GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture an abstraction for monitoring and 3924// retrieving the results of a long-running operation. 3925type GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture struct { 3926 azure.FutureAPI 3927 // Result returns the result of the asynchronous operation. 3928 // If the operation has not completed it will return an error. 3929 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 3930} 3931 3932// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3933func (future *GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture) UnmarshalJSON(body []byte) error { 3934 var azFuture azure.Future 3935 if err := json.Unmarshal(body, &azFuture); err != nil { 3936 return err 3937 } 3938 future.FutureAPI = &azFuture 3939 future.Result = future.result 3940 return nil 3941} 3942 3943// result is the default implementation for GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture.Result. 3944func (future *GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 3945 var done bool 3946 done, err = future.DoneWithContext(context.Background(), client) 3947 if err != nil { 3948 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture", "Result", future.Response(), "Polling failure") 3949 return 3950 } 3951 if !done { 3952 tsgr.Response.Response = future.Response() 3953 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture") 3954 return 3955 } 3956 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 3957 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 3958 tsgr, err = client.MigrateGremlinDatabaseToManualThroughputResponder(tsgr.Response.Response) 3959 if err != nil { 3960 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinDatabaseToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 3961 } 3962 } 3963 return 3964} 3965 3966// GremlinResourcesMigrateGremlinGraphToAutoscaleFuture an abstraction for monitoring and retrieving the 3967// results of a long-running operation. 3968type GremlinResourcesMigrateGremlinGraphToAutoscaleFuture struct { 3969 azure.FutureAPI 3970 // Result returns the result of the asynchronous operation. 3971 // If the operation has not completed it will return an error. 3972 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 3973} 3974 3975// UnmarshalJSON is the custom unmarshaller for CreateFuture. 3976func (future *GremlinResourcesMigrateGremlinGraphToAutoscaleFuture) UnmarshalJSON(body []byte) error { 3977 var azFuture azure.Future 3978 if err := json.Unmarshal(body, &azFuture); err != nil { 3979 return err 3980 } 3981 future.FutureAPI = &azFuture 3982 future.Result = future.result 3983 return nil 3984} 3985 3986// result is the default implementation for GremlinResourcesMigrateGremlinGraphToAutoscaleFuture.Result. 3987func (future *GremlinResourcesMigrateGremlinGraphToAutoscaleFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 3988 var done bool 3989 done, err = future.DoneWithContext(context.Background(), client) 3990 if err != nil { 3991 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinGraphToAutoscaleFuture", "Result", future.Response(), "Polling failure") 3992 return 3993 } 3994 if !done { 3995 tsgr.Response.Response = future.Response() 3996 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesMigrateGremlinGraphToAutoscaleFuture") 3997 return 3998 } 3999 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4000 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 4001 tsgr, err = client.MigrateGremlinGraphToAutoscaleResponder(tsgr.Response.Response) 4002 if err != nil { 4003 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinGraphToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 4004 } 4005 } 4006 return 4007} 4008 4009// GremlinResourcesMigrateGremlinGraphToManualThroughputFuture an abstraction for monitoring and retrieving 4010// the results of a long-running operation. 4011type GremlinResourcesMigrateGremlinGraphToManualThroughputFuture struct { 4012 azure.FutureAPI 4013 // Result returns the result of the asynchronous operation. 4014 // If the operation has not completed it will return an error. 4015 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 4016} 4017 4018// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4019func (future *GremlinResourcesMigrateGremlinGraphToManualThroughputFuture) UnmarshalJSON(body []byte) error { 4020 var azFuture azure.Future 4021 if err := json.Unmarshal(body, &azFuture); err != nil { 4022 return err 4023 } 4024 future.FutureAPI = &azFuture 4025 future.Result = future.result 4026 return nil 4027} 4028 4029// result is the default implementation for GremlinResourcesMigrateGremlinGraphToManualThroughputFuture.Result. 4030func (future *GremlinResourcesMigrateGremlinGraphToManualThroughputFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 4031 var done bool 4032 done, err = future.DoneWithContext(context.Background(), client) 4033 if err != nil { 4034 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinGraphToManualThroughputFuture", "Result", future.Response(), "Polling failure") 4035 return 4036 } 4037 if !done { 4038 tsgr.Response.Response = future.Response() 4039 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesMigrateGremlinGraphToManualThroughputFuture") 4040 return 4041 } 4042 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4043 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 4044 tsgr, err = client.MigrateGremlinGraphToManualThroughputResponder(tsgr.Response.Response) 4045 if err != nil { 4046 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesMigrateGremlinGraphToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 4047 } 4048 } 4049 return 4050} 4051 4052// GremlinResourcesUpdateGremlinDatabaseThroughputFuture an abstraction for monitoring and retrieving the 4053// results of a long-running operation. 4054type GremlinResourcesUpdateGremlinDatabaseThroughputFuture struct { 4055 azure.FutureAPI 4056 // Result returns the result of the asynchronous operation. 4057 // If the operation has not completed it will return an error. 4058 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 4059} 4060 4061// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4062func (future *GremlinResourcesUpdateGremlinDatabaseThroughputFuture) UnmarshalJSON(body []byte) error { 4063 var azFuture azure.Future 4064 if err := json.Unmarshal(body, &azFuture); err != nil { 4065 return err 4066 } 4067 future.FutureAPI = &azFuture 4068 future.Result = future.result 4069 return nil 4070} 4071 4072// result is the default implementation for GremlinResourcesUpdateGremlinDatabaseThroughputFuture.Result. 4073func (future *GremlinResourcesUpdateGremlinDatabaseThroughputFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 4074 var done bool 4075 done, err = future.DoneWithContext(context.Background(), client) 4076 if err != nil { 4077 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesUpdateGremlinDatabaseThroughputFuture", "Result", future.Response(), "Polling failure") 4078 return 4079 } 4080 if !done { 4081 tsgr.Response.Response = future.Response() 4082 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesUpdateGremlinDatabaseThroughputFuture") 4083 return 4084 } 4085 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4086 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 4087 tsgr, err = client.UpdateGremlinDatabaseThroughputResponder(tsgr.Response.Response) 4088 if err != nil { 4089 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesUpdateGremlinDatabaseThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 4090 } 4091 } 4092 return 4093} 4094 4095// GremlinResourcesUpdateGremlinGraphThroughputFuture an abstraction for monitoring and retrieving the 4096// results of a long-running operation. 4097type GremlinResourcesUpdateGremlinGraphThroughputFuture struct { 4098 azure.FutureAPI 4099 // Result returns the result of the asynchronous operation. 4100 // If the operation has not completed it will return an error. 4101 Result func(GremlinResourcesClient) (ThroughputSettingsGetResults, error) 4102} 4103 4104// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4105func (future *GremlinResourcesUpdateGremlinGraphThroughputFuture) UnmarshalJSON(body []byte) error { 4106 var azFuture azure.Future 4107 if err := json.Unmarshal(body, &azFuture); err != nil { 4108 return err 4109 } 4110 future.FutureAPI = &azFuture 4111 future.Result = future.result 4112 return nil 4113} 4114 4115// result is the default implementation for GremlinResourcesUpdateGremlinGraphThroughputFuture.Result. 4116func (future *GremlinResourcesUpdateGremlinGraphThroughputFuture) result(client GremlinResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 4117 var done bool 4118 done, err = future.DoneWithContext(context.Background(), client) 4119 if err != nil { 4120 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesUpdateGremlinGraphThroughputFuture", "Result", future.Response(), "Polling failure") 4121 return 4122 } 4123 if !done { 4124 tsgr.Response.Response = future.Response() 4125 err = azure.NewAsyncOpIncompleteError("documentdb.GremlinResourcesUpdateGremlinGraphThroughputFuture") 4126 return 4127 } 4128 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4129 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 4130 tsgr, err = client.UpdateGremlinGraphThroughputResponder(tsgr.Response.Response) 4131 if err != nil { 4132 err = autorest.NewErrorWithError(err, "documentdb.GremlinResourcesUpdateGremlinGraphThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 4133 } 4134 } 4135 return 4136} 4137 4138// IncludedPath the paths that are included in indexing 4139type IncludedPath struct { 4140 // Path - The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) 4141 Path *string `json:"path,omitempty"` 4142 // Indexes - List of indexes for this path 4143 Indexes *[]Indexes `json:"indexes,omitempty"` 4144} 4145 4146// Indexes the indexes for the path. 4147type Indexes struct { 4148 // DataType - The datatype for which the indexing behavior is applied to. Possible values include: 'DataTypeString', 'DataTypeNumber', 'DataTypePoint', 'DataTypePolygon', 'DataTypeLineString', 'DataTypeMultiPolygon' 4149 DataType DataType `json:"dataType,omitempty"` 4150 // Precision - The precision of the index. -1 is maximum precision. 4151 Precision *int32 `json:"precision,omitempty"` 4152 // Kind - Indicates the type of index. Possible values include: 'IndexKindHash', 'IndexKindRange', 'IndexKindSpatial' 4153 Kind IndexKind `json:"kind,omitempty"` 4154} 4155 4156// IndexingPolicy cosmos DB indexing policy 4157type IndexingPolicy struct { 4158 // Automatic - Indicates if the indexing policy is automatic 4159 Automatic *bool `json:"automatic,omitempty"` 4160 // IndexingMode - Indicates the indexing mode. Possible values include: 'IndexingModeConsistent', 'IndexingModeLazy', 'IndexingModeNone' 4161 IndexingMode IndexingMode `json:"indexingMode,omitempty"` 4162 // IncludedPaths - List of paths to include in the indexing 4163 IncludedPaths *[]IncludedPath `json:"includedPaths,omitempty"` 4164 // ExcludedPaths - List of paths to exclude from indexing 4165 ExcludedPaths *[]ExcludedPath `json:"excludedPaths,omitempty"` 4166 // CompositeIndexes - List of composite path list 4167 CompositeIndexes *[][]CompositePath `json:"compositeIndexes,omitempty"` 4168 // SpatialIndexes - List of spatial specifics 4169 SpatialIndexes *[]SpatialSpec `json:"spatialIndexes,omitempty"` 4170} 4171 4172// IPAddressOrRange ipAddressOrRange object 4173type IPAddressOrRange struct { 4174 // IPAddressOrRange - A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”. 4175 IPAddressOrRange *string `json:"ipAddressOrRange,omitempty"` 4176} 4177 4178// Location a region in which the Azure Cosmos DB database account is deployed. 4179type Location struct { 4180 // ID - READ-ONLY; The unique identifier of the region within the database account. Example: <accountName>-<locationName>. 4181 ID *string `json:"id,omitempty"` 4182 // LocationName - The name of the region. 4183 LocationName *string `json:"locationName,omitempty"` 4184 // DocumentEndpoint - READ-ONLY; The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/ 4185 DocumentEndpoint *string `json:"documentEndpoint,omitempty"` 4186 ProvisioningState *string `json:"provisioningState,omitempty"` 4187 // FailoverPriority - The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. 4188 FailoverPriority *int32 `json:"failoverPriority,omitempty"` 4189 // IsZoneRedundant - Flag to indicate whether or not this region is an AvailabilityZone region 4190 IsZoneRedundant *bool `json:"isZoneRedundant,omitempty"` 4191} 4192 4193// MarshalJSON is the custom marshaler for Location. 4194func (l Location) MarshalJSON() ([]byte, error) { 4195 objectMap := make(map[string]interface{}) 4196 if l.LocationName != nil { 4197 objectMap["locationName"] = l.LocationName 4198 } 4199 if l.ProvisioningState != nil { 4200 objectMap["provisioningState"] = l.ProvisioningState 4201 } 4202 if l.FailoverPriority != nil { 4203 objectMap["failoverPriority"] = l.FailoverPriority 4204 } 4205 if l.IsZoneRedundant != nil { 4206 objectMap["isZoneRedundant"] = l.IsZoneRedundant 4207 } 4208 return json.Marshal(objectMap) 4209} 4210 4211// ManagedServiceIdentity identity for the resource. 4212type ManagedServiceIdentity struct { 4213 // PrincipalID - READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. 4214 PrincipalID *string `json:"principalId,omitempty"` 4215 // TenantID - READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. 4216 TenantID *string `json:"tenantId,omitempty"` 4217 // Type - The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. Possible values include: 'ResourceIdentityTypeSystemAssigned', 'ResourceIdentityTypeUserAssigned', 'ResourceIdentityTypeSystemAssignedUserAssigned', 'ResourceIdentityTypeNone' 4218 Type ResourceIdentityType `json:"type,omitempty"` 4219 // UserAssignedIdentities - The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 4220 UserAssignedIdentities map[string]*ManagedServiceIdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` 4221} 4222 4223// MarshalJSON is the custom marshaler for ManagedServiceIdentity. 4224func (msi ManagedServiceIdentity) MarshalJSON() ([]byte, error) { 4225 objectMap := make(map[string]interface{}) 4226 if msi.Type != "" { 4227 objectMap["type"] = msi.Type 4228 } 4229 if msi.UserAssignedIdentities != nil { 4230 objectMap["userAssignedIdentities"] = msi.UserAssignedIdentities 4231 } 4232 return json.Marshal(objectMap) 4233} 4234 4235// ManagedServiceIdentityUserAssignedIdentitiesValue ... 4236type ManagedServiceIdentityUserAssignedIdentitiesValue struct { 4237 // PrincipalID - READ-ONLY; The principal id of user assigned identity. 4238 PrincipalID *string `json:"principalId,omitempty"` 4239 // ClientID - READ-ONLY; The client id of user assigned identity. 4240 ClientID *string `json:"clientId,omitempty"` 4241} 4242 4243// MarshalJSON is the custom marshaler for ManagedServiceIdentityUserAssignedIdentitiesValue. 4244func (msiAiv ManagedServiceIdentityUserAssignedIdentitiesValue) MarshalJSON() ([]byte, error) { 4245 objectMap := make(map[string]interface{}) 4246 return json.Marshal(objectMap) 4247} 4248 4249// Metric metric data 4250type Metric struct { 4251 // StartTime - READ-ONLY; The start time for the metric (ISO-8601 format). 4252 StartTime *date.Time `json:"startTime,omitempty"` 4253 // EndTime - READ-ONLY; The end time for the metric (ISO-8601 format). 4254 EndTime *date.Time `json:"endTime,omitempty"` 4255 // TimeGrain - READ-ONLY; The time grain to be used to summarize the metric values. 4256 TimeGrain *string `json:"timeGrain,omitempty"` 4257 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 4258 Unit UnitType `json:"unit,omitempty"` 4259 // Name - READ-ONLY; The name information for the metric. 4260 Name *MetricName `json:"name,omitempty"` 4261 // MetricValues - READ-ONLY; The metric values for the specified time window and timestep. 4262 MetricValues *[]MetricValue `json:"metricValues,omitempty"` 4263} 4264 4265// MarshalJSON is the custom marshaler for Metric. 4266func (mVar Metric) MarshalJSON() ([]byte, error) { 4267 objectMap := make(map[string]interface{}) 4268 if mVar.Unit != "" { 4269 objectMap["unit"] = mVar.Unit 4270 } 4271 return json.Marshal(objectMap) 4272} 4273 4274// MetricAvailability the availability of the metric. 4275type MetricAvailability struct { 4276 // TimeGrain - READ-ONLY; The time grain to be used to summarize the metric values. 4277 TimeGrain *string `json:"timeGrain,omitempty"` 4278 // Retention - READ-ONLY; The retention for the metric values. 4279 Retention *string `json:"retention,omitempty"` 4280} 4281 4282// MarshalJSON is the custom marshaler for MetricAvailability. 4283func (ma MetricAvailability) MarshalJSON() ([]byte, error) { 4284 objectMap := make(map[string]interface{}) 4285 return json.Marshal(objectMap) 4286} 4287 4288// MetricDefinition the definition of a metric. 4289type MetricDefinition struct { 4290 // MetricAvailabilities - READ-ONLY; The list of metric availabilities for the account. 4291 MetricAvailabilities *[]MetricAvailability `json:"metricAvailabilities,omitempty"` 4292 // PrimaryAggregationType - READ-ONLY; The primary aggregation type of the metric. Possible values include: 'PrimaryAggregationTypeNone', 'PrimaryAggregationTypeAverage', 'PrimaryAggregationTypeTotal', 'PrimaryAggregationTypeMinimum', 'PrimaryAggregationTypeMaximum', 'PrimaryAggregationTypeLast' 4293 PrimaryAggregationType PrimaryAggregationType `json:"primaryAggregationType,omitempty"` 4294 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 4295 Unit UnitType `json:"unit,omitempty"` 4296 // ResourceURI - READ-ONLY; The resource uri of the database. 4297 ResourceURI *string `json:"resourceUri,omitempty"` 4298 // Name - READ-ONLY; The name information for the metric. 4299 Name *MetricName `json:"name,omitempty"` 4300} 4301 4302// MarshalJSON is the custom marshaler for MetricDefinition. 4303func (md MetricDefinition) MarshalJSON() ([]byte, error) { 4304 objectMap := make(map[string]interface{}) 4305 if md.Unit != "" { 4306 objectMap["unit"] = md.Unit 4307 } 4308 return json.Marshal(objectMap) 4309} 4310 4311// MetricDefinitionsListResult the response to a list metric definitions request. 4312type MetricDefinitionsListResult struct { 4313 autorest.Response `json:"-"` 4314 // Value - READ-ONLY; The list of metric definitions for the account. 4315 Value *[]MetricDefinition `json:"value,omitempty"` 4316} 4317 4318// MarshalJSON is the custom marshaler for MetricDefinitionsListResult. 4319func (mdlr MetricDefinitionsListResult) MarshalJSON() ([]byte, error) { 4320 objectMap := make(map[string]interface{}) 4321 return json.Marshal(objectMap) 4322} 4323 4324// MetricListResult the response to a list metrics request. 4325type MetricListResult struct { 4326 autorest.Response `json:"-"` 4327 // Value - READ-ONLY; The list of metrics for the account. 4328 Value *[]Metric `json:"value,omitempty"` 4329} 4330 4331// MarshalJSON is the custom marshaler for MetricListResult. 4332func (mlr MetricListResult) MarshalJSON() ([]byte, error) { 4333 objectMap := make(map[string]interface{}) 4334 return json.Marshal(objectMap) 4335} 4336 4337// MetricName a metric name. 4338type MetricName struct { 4339 // Value - READ-ONLY; The name of the metric. 4340 Value *string `json:"value,omitempty"` 4341 // LocalizedValue - READ-ONLY; The friendly name of the metric. 4342 LocalizedValue *string `json:"localizedValue,omitempty"` 4343} 4344 4345// MarshalJSON is the custom marshaler for MetricName. 4346func (mn MetricName) MarshalJSON() ([]byte, error) { 4347 objectMap := make(map[string]interface{}) 4348 return json.Marshal(objectMap) 4349} 4350 4351// MetricValue represents metrics values. 4352type MetricValue struct { 4353 // Count - READ-ONLY; The number of values for the metric. 4354 Count *float64 `json:"_count,omitempty"` 4355 // Average - READ-ONLY; The average value of the metric. 4356 Average *float64 `json:"average,omitempty"` 4357 // Maximum - READ-ONLY; The max value of the metric. 4358 Maximum *float64 `json:"maximum,omitempty"` 4359 // Minimum - READ-ONLY; The min value of the metric. 4360 Minimum *float64 `json:"minimum,omitempty"` 4361 // Timestamp - READ-ONLY; The metric timestamp (ISO-8601 format). 4362 Timestamp *date.Time `json:"timestamp,omitempty"` 4363 // Total - READ-ONLY; The total value of the metric. 4364 Total *float64 `json:"total,omitempty"` 4365} 4366 4367// MarshalJSON is the custom marshaler for MetricValue. 4368func (mv MetricValue) MarshalJSON() ([]byte, error) { 4369 objectMap := make(map[string]interface{}) 4370 return json.Marshal(objectMap) 4371} 4372 4373// MongoDBCollectionCreateUpdateParameters parameters to create and update Cosmos DB MongoDB collection. 4374type MongoDBCollectionCreateUpdateParameters struct { 4375 // MongoDBCollectionCreateUpdateProperties - Properties to create and update Azure Cosmos DB MongoDB collection. 4376 *MongoDBCollectionCreateUpdateProperties `json:"properties,omitempty"` 4377 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 4378 ID *string `json:"id,omitempty"` 4379 // Name - READ-ONLY; The name of the ARM resource. 4380 Name *string `json:"name,omitempty"` 4381 // Type - READ-ONLY; The type of Azure resource. 4382 Type *string `json:"type,omitempty"` 4383 // Location - The location of the resource group to which the resource belongs. 4384 Location *string `json:"location,omitempty"` 4385 Tags map[string]*string `json:"tags"` 4386} 4387 4388// MarshalJSON is the custom marshaler for MongoDBCollectionCreateUpdateParameters. 4389func (mdccup MongoDBCollectionCreateUpdateParameters) MarshalJSON() ([]byte, error) { 4390 objectMap := make(map[string]interface{}) 4391 if mdccup.MongoDBCollectionCreateUpdateProperties != nil { 4392 objectMap["properties"] = mdccup.MongoDBCollectionCreateUpdateProperties 4393 } 4394 if mdccup.Location != nil { 4395 objectMap["location"] = mdccup.Location 4396 } 4397 if mdccup.Tags != nil { 4398 objectMap["tags"] = mdccup.Tags 4399 } 4400 return json.Marshal(objectMap) 4401} 4402 4403// UnmarshalJSON is the custom unmarshaler for MongoDBCollectionCreateUpdateParameters struct. 4404func (mdccup *MongoDBCollectionCreateUpdateParameters) UnmarshalJSON(body []byte) error { 4405 var m map[string]*json.RawMessage 4406 err := json.Unmarshal(body, &m) 4407 if err != nil { 4408 return err 4409 } 4410 for k, v := range m { 4411 switch k { 4412 case "properties": 4413 if v != nil { 4414 var mongoDBCollectionCreateUpdateProperties MongoDBCollectionCreateUpdateProperties 4415 err = json.Unmarshal(*v, &mongoDBCollectionCreateUpdateProperties) 4416 if err != nil { 4417 return err 4418 } 4419 mdccup.MongoDBCollectionCreateUpdateProperties = &mongoDBCollectionCreateUpdateProperties 4420 } 4421 case "id": 4422 if v != nil { 4423 var ID string 4424 err = json.Unmarshal(*v, &ID) 4425 if err != nil { 4426 return err 4427 } 4428 mdccup.ID = &ID 4429 } 4430 case "name": 4431 if v != nil { 4432 var name string 4433 err = json.Unmarshal(*v, &name) 4434 if err != nil { 4435 return err 4436 } 4437 mdccup.Name = &name 4438 } 4439 case "type": 4440 if v != nil { 4441 var typeVar string 4442 err = json.Unmarshal(*v, &typeVar) 4443 if err != nil { 4444 return err 4445 } 4446 mdccup.Type = &typeVar 4447 } 4448 case "location": 4449 if v != nil { 4450 var location string 4451 err = json.Unmarshal(*v, &location) 4452 if err != nil { 4453 return err 4454 } 4455 mdccup.Location = &location 4456 } 4457 case "tags": 4458 if v != nil { 4459 var tags map[string]*string 4460 err = json.Unmarshal(*v, &tags) 4461 if err != nil { 4462 return err 4463 } 4464 mdccup.Tags = tags 4465 } 4466 } 4467 } 4468 4469 return nil 4470} 4471 4472// MongoDBCollectionCreateUpdateProperties properties to create and update Azure Cosmos DB MongoDB 4473// collection. 4474type MongoDBCollectionCreateUpdateProperties struct { 4475 // Resource - The standard JSON format of a MongoDB collection 4476 Resource *MongoDBCollectionResource `json:"resource,omitempty"` 4477 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 4478 Options *CreateUpdateOptions `json:"options,omitempty"` 4479} 4480 4481// MongoDBCollectionGetProperties the properties of an Azure Cosmos DB MongoDB collection 4482type MongoDBCollectionGetProperties struct { 4483 Resource *MongoDBCollectionGetPropertiesResource `json:"resource,omitempty"` 4484 Options *MongoDBCollectionGetPropertiesOptions `json:"options,omitempty"` 4485} 4486 4487// MongoDBCollectionGetPropertiesOptions ... 4488type MongoDBCollectionGetPropertiesOptions struct { 4489 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 4490 Throughput *int32 `json:"throughput,omitempty"` 4491 // AutoscaleSettings - Specifies the Autoscale settings. 4492 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 4493} 4494 4495// MongoDBCollectionGetPropertiesResource ... 4496type MongoDBCollectionGetPropertiesResource struct { 4497 // ID - Name of the Cosmos DB MongoDB collection 4498 ID *string `json:"id,omitempty"` 4499 // ShardKey - A key-value pair of shard keys to be applied for the request. 4500 ShardKey map[string]*string `json:"shardKey"` 4501 // Indexes - List of index keys 4502 Indexes *[]MongoIndex `json:"indexes,omitempty"` 4503 // AnalyticalStorageTTL - Analytical TTL. 4504 AnalyticalStorageTTL *int32 `json:"analyticalStorageTtl,omitempty"` 4505 // Rid - READ-ONLY; A system generated property. A unique identifier. 4506 Rid *string `json:"_rid,omitempty"` 4507 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 4508 Ts *float64 `json:"_ts,omitempty"` 4509 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 4510 Etag *string `json:"_etag,omitempty"` 4511} 4512 4513// MarshalJSON is the custom marshaler for MongoDBCollectionGetPropertiesResource. 4514func (mdcgp MongoDBCollectionGetPropertiesResource) MarshalJSON() ([]byte, error) { 4515 objectMap := make(map[string]interface{}) 4516 if mdcgp.ID != nil { 4517 objectMap["id"] = mdcgp.ID 4518 } 4519 if mdcgp.ShardKey != nil { 4520 objectMap["shardKey"] = mdcgp.ShardKey 4521 } 4522 if mdcgp.Indexes != nil { 4523 objectMap["indexes"] = mdcgp.Indexes 4524 } 4525 if mdcgp.AnalyticalStorageTTL != nil { 4526 objectMap["analyticalStorageTtl"] = mdcgp.AnalyticalStorageTTL 4527 } 4528 return json.Marshal(objectMap) 4529} 4530 4531// MongoDBCollectionGetResults an Azure Cosmos DB MongoDB collection. 4532type MongoDBCollectionGetResults struct { 4533 autorest.Response `json:"-"` 4534 // MongoDBCollectionGetProperties - The properties of an Azure Cosmos DB MongoDB collection 4535 *MongoDBCollectionGetProperties `json:"properties,omitempty"` 4536 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 4537 ID *string `json:"id,omitempty"` 4538 // Name - READ-ONLY; The name of the ARM resource. 4539 Name *string `json:"name,omitempty"` 4540 // Type - READ-ONLY; The type of Azure resource. 4541 Type *string `json:"type,omitempty"` 4542 // Location - The location of the resource group to which the resource belongs. 4543 Location *string `json:"location,omitempty"` 4544 Tags map[string]*string `json:"tags"` 4545} 4546 4547// MarshalJSON is the custom marshaler for MongoDBCollectionGetResults. 4548func (mdcgr MongoDBCollectionGetResults) MarshalJSON() ([]byte, error) { 4549 objectMap := make(map[string]interface{}) 4550 if mdcgr.MongoDBCollectionGetProperties != nil { 4551 objectMap["properties"] = mdcgr.MongoDBCollectionGetProperties 4552 } 4553 if mdcgr.Location != nil { 4554 objectMap["location"] = mdcgr.Location 4555 } 4556 if mdcgr.Tags != nil { 4557 objectMap["tags"] = mdcgr.Tags 4558 } 4559 return json.Marshal(objectMap) 4560} 4561 4562// UnmarshalJSON is the custom unmarshaler for MongoDBCollectionGetResults struct. 4563func (mdcgr *MongoDBCollectionGetResults) UnmarshalJSON(body []byte) error { 4564 var m map[string]*json.RawMessage 4565 err := json.Unmarshal(body, &m) 4566 if err != nil { 4567 return err 4568 } 4569 for k, v := range m { 4570 switch k { 4571 case "properties": 4572 if v != nil { 4573 var mongoDBCollectionGetProperties MongoDBCollectionGetProperties 4574 err = json.Unmarshal(*v, &mongoDBCollectionGetProperties) 4575 if err != nil { 4576 return err 4577 } 4578 mdcgr.MongoDBCollectionGetProperties = &mongoDBCollectionGetProperties 4579 } 4580 case "id": 4581 if v != nil { 4582 var ID string 4583 err = json.Unmarshal(*v, &ID) 4584 if err != nil { 4585 return err 4586 } 4587 mdcgr.ID = &ID 4588 } 4589 case "name": 4590 if v != nil { 4591 var name string 4592 err = json.Unmarshal(*v, &name) 4593 if err != nil { 4594 return err 4595 } 4596 mdcgr.Name = &name 4597 } 4598 case "type": 4599 if v != nil { 4600 var typeVar string 4601 err = json.Unmarshal(*v, &typeVar) 4602 if err != nil { 4603 return err 4604 } 4605 mdcgr.Type = &typeVar 4606 } 4607 case "location": 4608 if v != nil { 4609 var location string 4610 err = json.Unmarshal(*v, &location) 4611 if err != nil { 4612 return err 4613 } 4614 mdcgr.Location = &location 4615 } 4616 case "tags": 4617 if v != nil { 4618 var tags map[string]*string 4619 err = json.Unmarshal(*v, &tags) 4620 if err != nil { 4621 return err 4622 } 4623 mdcgr.Tags = tags 4624 } 4625 } 4626 } 4627 4628 return nil 4629} 4630 4631// MongoDBCollectionListResult the List operation response, that contains the MongoDB collections and their 4632// properties. 4633type MongoDBCollectionListResult struct { 4634 autorest.Response `json:"-"` 4635 // Value - READ-ONLY; List of MongoDB collections and their properties. 4636 Value *[]MongoDBCollectionGetResults `json:"value,omitempty"` 4637} 4638 4639// MarshalJSON is the custom marshaler for MongoDBCollectionListResult. 4640func (mdclr MongoDBCollectionListResult) MarshalJSON() ([]byte, error) { 4641 objectMap := make(map[string]interface{}) 4642 return json.Marshal(objectMap) 4643} 4644 4645// MongoDBCollectionResource cosmos DB MongoDB collection resource object 4646type MongoDBCollectionResource struct { 4647 // ID - Name of the Cosmos DB MongoDB collection 4648 ID *string `json:"id,omitempty"` 4649 // ShardKey - A key-value pair of shard keys to be applied for the request. 4650 ShardKey map[string]*string `json:"shardKey"` 4651 // Indexes - List of index keys 4652 Indexes *[]MongoIndex `json:"indexes,omitempty"` 4653 // AnalyticalStorageTTL - Analytical TTL. 4654 AnalyticalStorageTTL *int32 `json:"analyticalStorageTtl,omitempty"` 4655} 4656 4657// MarshalJSON is the custom marshaler for MongoDBCollectionResource. 4658func (mdcr MongoDBCollectionResource) MarshalJSON() ([]byte, error) { 4659 objectMap := make(map[string]interface{}) 4660 if mdcr.ID != nil { 4661 objectMap["id"] = mdcr.ID 4662 } 4663 if mdcr.ShardKey != nil { 4664 objectMap["shardKey"] = mdcr.ShardKey 4665 } 4666 if mdcr.Indexes != nil { 4667 objectMap["indexes"] = mdcr.Indexes 4668 } 4669 if mdcr.AnalyticalStorageTTL != nil { 4670 objectMap["analyticalStorageTtl"] = mdcr.AnalyticalStorageTTL 4671 } 4672 return json.Marshal(objectMap) 4673} 4674 4675// MongoDBDatabaseCreateUpdateParameters parameters to create and update Cosmos DB MongoDB database. 4676type MongoDBDatabaseCreateUpdateParameters struct { 4677 // MongoDBDatabaseCreateUpdateProperties - Properties to create and update Azure Cosmos DB MongoDB database. 4678 *MongoDBDatabaseCreateUpdateProperties `json:"properties,omitempty"` 4679 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 4680 ID *string `json:"id,omitempty"` 4681 // Name - READ-ONLY; The name of the ARM resource. 4682 Name *string `json:"name,omitempty"` 4683 // Type - READ-ONLY; The type of Azure resource. 4684 Type *string `json:"type,omitempty"` 4685 // Location - The location of the resource group to which the resource belongs. 4686 Location *string `json:"location,omitempty"` 4687 Tags map[string]*string `json:"tags"` 4688} 4689 4690// MarshalJSON is the custom marshaler for MongoDBDatabaseCreateUpdateParameters. 4691func (mddcup MongoDBDatabaseCreateUpdateParameters) MarshalJSON() ([]byte, error) { 4692 objectMap := make(map[string]interface{}) 4693 if mddcup.MongoDBDatabaseCreateUpdateProperties != nil { 4694 objectMap["properties"] = mddcup.MongoDBDatabaseCreateUpdateProperties 4695 } 4696 if mddcup.Location != nil { 4697 objectMap["location"] = mddcup.Location 4698 } 4699 if mddcup.Tags != nil { 4700 objectMap["tags"] = mddcup.Tags 4701 } 4702 return json.Marshal(objectMap) 4703} 4704 4705// UnmarshalJSON is the custom unmarshaler for MongoDBDatabaseCreateUpdateParameters struct. 4706func (mddcup *MongoDBDatabaseCreateUpdateParameters) UnmarshalJSON(body []byte) error { 4707 var m map[string]*json.RawMessage 4708 err := json.Unmarshal(body, &m) 4709 if err != nil { 4710 return err 4711 } 4712 for k, v := range m { 4713 switch k { 4714 case "properties": 4715 if v != nil { 4716 var mongoDBDatabaseCreateUpdateProperties MongoDBDatabaseCreateUpdateProperties 4717 err = json.Unmarshal(*v, &mongoDBDatabaseCreateUpdateProperties) 4718 if err != nil { 4719 return err 4720 } 4721 mddcup.MongoDBDatabaseCreateUpdateProperties = &mongoDBDatabaseCreateUpdateProperties 4722 } 4723 case "id": 4724 if v != nil { 4725 var ID string 4726 err = json.Unmarshal(*v, &ID) 4727 if err != nil { 4728 return err 4729 } 4730 mddcup.ID = &ID 4731 } 4732 case "name": 4733 if v != nil { 4734 var name string 4735 err = json.Unmarshal(*v, &name) 4736 if err != nil { 4737 return err 4738 } 4739 mddcup.Name = &name 4740 } 4741 case "type": 4742 if v != nil { 4743 var typeVar string 4744 err = json.Unmarshal(*v, &typeVar) 4745 if err != nil { 4746 return err 4747 } 4748 mddcup.Type = &typeVar 4749 } 4750 case "location": 4751 if v != nil { 4752 var location string 4753 err = json.Unmarshal(*v, &location) 4754 if err != nil { 4755 return err 4756 } 4757 mddcup.Location = &location 4758 } 4759 case "tags": 4760 if v != nil { 4761 var tags map[string]*string 4762 err = json.Unmarshal(*v, &tags) 4763 if err != nil { 4764 return err 4765 } 4766 mddcup.Tags = tags 4767 } 4768 } 4769 } 4770 4771 return nil 4772} 4773 4774// MongoDBDatabaseCreateUpdateProperties properties to create and update Azure Cosmos DB MongoDB database. 4775type MongoDBDatabaseCreateUpdateProperties struct { 4776 // Resource - The standard JSON format of a MongoDB database 4777 Resource *MongoDBDatabaseResource `json:"resource,omitempty"` 4778 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 4779 Options *CreateUpdateOptions `json:"options,omitempty"` 4780} 4781 4782// MongoDBDatabaseGetProperties the properties of an Azure Cosmos DB MongoDB database 4783type MongoDBDatabaseGetProperties struct { 4784 Resource *MongoDBDatabaseGetPropertiesResource `json:"resource,omitempty"` 4785 Options *MongoDBDatabaseGetPropertiesOptions `json:"options,omitempty"` 4786} 4787 4788// MongoDBDatabaseGetPropertiesOptions ... 4789type MongoDBDatabaseGetPropertiesOptions struct { 4790 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 4791 Throughput *int32 `json:"throughput,omitempty"` 4792 // AutoscaleSettings - Specifies the Autoscale settings. 4793 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 4794} 4795 4796// MongoDBDatabaseGetPropertiesResource ... 4797type MongoDBDatabaseGetPropertiesResource struct { 4798 // ID - Name of the Cosmos DB MongoDB database 4799 ID *string `json:"id,omitempty"` 4800 // Rid - READ-ONLY; A system generated property. A unique identifier. 4801 Rid *string `json:"_rid,omitempty"` 4802 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 4803 Ts *float64 `json:"_ts,omitempty"` 4804 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 4805 Etag *string `json:"_etag,omitempty"` 4806} 4807 4808// MarshalJSON is the custom marshaler for MongoDBDatabaseGetPropertiesResource. 4809func (mddgp MongoDBDatabaseGetPropertiesResource) MarshalJSON() ([]byte, error) { 4810 objectMap := make(map[string]interface{}) 4811 if mddgp.ID != nil { 4812 objectMap["id"] = mddgp.ID 4813 } 4814 return json.Marshal(objectMap) 4815} 4816 4817// MongoDBDatabaseGetResults an Azure Cosmos DB MongoDB database. 4818type MongoDBDatabaseGetResults struct { 4819 autorest.Response `json:"-"` 4820 // MongoDBDatabaseGetProperties - The properties of an Azure Cosmos DB MongoDB database 4821 *MongoDBDatabaseGetProperties `json:"properties,omitempty"` 4822 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 4823 ID *string `json:"id,omitempty"` 4824 // Name - READ-ONLY; The name of the ARM resource. 4825 Name *string `json:"name,omitempty"` 4826 // Type - READ-ONLY; The type of Azure resource. 4827 Type *string `json:"type,omitempty"` 4828 // Location - The location of the resource group to which the resource belongs. 4829 Location *string `json:"location,omitempty"` 4830 Tags map[string]*string `json:"tags"` 4831} 4832 4833// MarshalJSON is the custom marshaler for MongoDBDatabaseGetResults. 4834func (mddgr MongoDBDatabaseGetResults) MarshalJSON() ([]byte, error) { 4835 objectMap := make(map[string]interface{}) 4836 if mddgr.MongoDBDatabaseGetProperties != nil { 4837 objectMap["properties"] = mddgr.MongoDBDatabaseGetProperties 4838 } 4839 if mddgr.Location != nil { 4840 objectMap["location"] = mddgr.Location 4841 } 4842 if mddgr.Tags != nil { 4843 objectMap["tags"] = mddgr.Tags 4844 } 4845 return json.Marshal(objectMap) 4846} 4847 4848// UnmarshalJSON is the custom unmarshaler for MongoDBDatabaseGetResults struct. 4849func (mddgr *MongoDBDatabaseGetResults) UnmarshalJSON(body []byte) error { 4850 var m map[string]*json.RawMessage 4851 err := json.Unmarshal(body, &m) 4852 if err != nil { 4853 return err 4854 } 4855 for k, v := range m { 4856 switch k { 4857 case "properties": 4858 if v != nil { 4859 var mongoDBDatabaseGetProperties MongoDBDatabaseGetProperties 4860 err = json.Unmarshal(*v, &mongoDBDatabaseGetProperties) 4861 if err != nil { 4862 return err 4863 } 4864 mddgr.MongoDBDatabaseGetProperties = &mongoDBDatabaseGetProperties 4865 } 4866 case "id": 4867 if v != nil { 4868 var ID string 4869 err = json.Unmarshal(*v, &ID) 4870 if err != nil { 4871 return err 4872 } 4873 mddgr.ID = &ID 4874 } 4875 case "name": 4876 if v != nil { 4877 var name string 4878 err = json.Unmarshal(*v, &name) 4879 if err != nil { 4880 return err 4881 } 4882 mddgr.Name = &name 4883 } 4884 case "type": 4885 if v != nil { 4886 var typeVar string 4887 err = json.Unmarshal(*v, &typeVar) 4888 if err != nil { 4889 return err 4890 } 4891 mddgr.Type = &typeVar 4892 } 4893 case "location": 4894 if v != nil { 4895 var location string 4896 err = json.Unmarshal(*v, &location) 4897 if err != nil { 4898 return err 4899 } 4900 mddgr.Location = &location 4901 } 4902 case "tags": 4903 if v != nil { 4904 var tags map[string]*string 4905 err = json.Unmarshal(*v, &tags) 4906 if err != nil { 4907 return err 4908 } 4909 mddgr.Tags = tags 4910 } 4911 } 4912 } 4913 4914 return nil 4915} 4916 4917// MongoDBDatabaseListResult the List operation response, that contains the MongoDB databases and their 4918// properties. 4919type MongoDBDatabaseListResult struct { 4920 autorest.Response `json:"-"` 4921 // Value - READ-ONLY; List of MongoDB databases and their properties. 4922 Value *[]MongoDBDatabaseGetResults `json:"value,omitempty"` 4923} 4924 4925// MarshalJSON is the custom marshaler for MongoDBDatabaseListResult. 4926func (mddlr MongoDBDatabaseListResult) MarshalJSON() ([]byte, error) { 4927 objectMap := make(map[string]interface{}) 4928 return json.Marshal(objectMap) 4929} 4930 4931// MongoDBDatabaseResource cosmos DB MongoDB database resource object 4932type MongoDBDatabaseResource struct { 4933 // ID - Name of the Cosmos DB MongoDB database 4934 ID *string `json:"id,omitempty"` 4935} 4936 4937// MongoDBResourcesCreateUpdateMongoDBCollectionFuture an abstraction for monitoring and retrieving the 4938// results of a long-running operation. 4939type MongoDBResourcesCreateUpdateMongoDBCollectionFuture struct { 4940 azure.FutureAPI 4941 // Result returns the result of the asynchronous operation. 4942 // If the operation has not completed it will return an error. 4943 Result func(MongoDBResourcesClient) (MongoDBCollectionGetResults, error) 4944} 4945 4946// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4947func (future *MongoDBResourcesCreateUpdateMongoDBCollectionFuture) UnmarshalJSON(body []byte) error { 4948 var azFuture azure.Future 4949 if err := json.Unmarshal(body, &azFuture); err != nil { 4950 return err 4951 } 4952 future.FutureAPI = &azFuture 4953 future.Result = future.result 4954 return nil 4955} 4956 4957// result is the default implementation for MongoDBResourcesCreateUpdateMongoDBCollectionFuture.Result. 4958func (future *MongoDBResourcesCreateUpdateMongoDBCollectionFuture) result(client MongoDBResourcesClient) (mdcgr MongoDBCollectionGetResults, err error) { 4959 var done bool 4960 done, err = future.DoneWithContext(context.Background(), client) 4961 if err != nil { 4962 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesCreateUpdateMongoDBCollectionFuture", "Result", future.Response(), "Polling failure") 4963 return 4964 } 4965 if !done { 4966 mdcgr.Response.Response = future.Response() 4967 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesCreateUpdateMongoDBCollectionFuture") 4968 return 4969 } 4970 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 4971 if mdcgr.Response.Response, err = future.GetResult(sender); err == nil && mdcgr.Response.Response.StatusCode != http.StatusNoContent { 4972 mdcgr, err = client.CreateUpdateMongoDBCollectionResponder(mdcgr.Response.Response) 4973 if err != nil { 4974 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesCreateUpdateMongoDBCollectionFuture", "Result", mdcgr.Response.Response, "Failure responding to request") 4975 } 4976 } 4977 return 4978} 4979 4980// MongoDBResourcesCreateUpdateMongoDBDatabaseFuture an abstraction for monitoring and retrieving the 4981// results of a long-running operation. 4982type MongoDBResourcesCreateUpdateMongoDBDatabaseFuture struct { 4983 azure.FutureAPI 4984 // Result returns the result of the asynchronous operation. 4985 // If the operation has not completed it will return an error. 4986 Result func(MongoDBResourcesClient) (MongoDBDatabaseGetResults, error) 4987} 4988 4989// UnmarshalJSON is the custom unmarshaller for CreateFuture. 4990func (future *MongoDBResourcesCreateUpdateMongoDBDatabaseFuture) UnmarshalJSON(body []byte) error { 4991 var azFuture azure.Future 4992 if err := json.Unmarshal(body, &azFuture); err != nil { 4993 return err 4994 } 4995 future.FutureAPI = &azFuture 4996 future.Result = future.result 4997 return nil 4998} 4999 5000// result is the default implementation for MongoDBResourcesCreateUpdateMongoDBDatabaseFuture.Result. 5001func (future *MongoDBResourcesCreateUpdateMongoDBDatabaseFuture) result(client MongoDBResourcesClient) (mddgr MongoDBDatabaseGetResults, err error) { 5002 var done bool 5003 done, err = future.DoneWithContext(context.Background(), client) 5004 if err != nil { 5005 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesCreateUpdateMongoDBDatabaseFuture", "Result", future.Response(), "Polling failure") 5006 return 5007 } 5008 if !done { 5009 mddgr.Response.Response = future.Response() 5010 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesCreateUpdateMongoDBDatabaseFuture") 5011 return 5012 } 5013 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5014 if mddgr.Response.Response, err = future.GetResult(sender); err == nil && mddgr.Response.Response.StatusCode != http.StatusNoContent { 5015 mddgr, err = client.CreateUpdateMongoDBDatabaseResponder(mddgr.Response.Response) 5016 if err != nil { 5017 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesCreateUpdateMongoDBDatabaseFuture", "Result", mddgr.Response.Response, "Failure responding to request") 5018 } 5019 } 5020 return 5021} 5022 5023// MongoDBResourcesDeleteMongoDBCollectionFuture an abstraction for monitoring and retrieving the results 5024// of a long-running operation. 5025type MongoDBResourcesDeleteMongoDBCollectionFuture struct { 5026 azure.FutureAPI 5027 // Result returns the result of the asynchronous operation. 5028 // If the operation has not completed it will return an error. 5029 Result func(MongoDBResourcesClient) (autorest.Response, error) 5030} 5031 5032// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5033func (future *MongoDBResourcesDeleteMongoDBCollectionFuture) UnmarshalJSON(body []byte) error { 5034 var azFuture azure.Future 5035 if err := json.Unmarshal(body, &azFuture); err != nil { 5036 return err 5037 } 5038 future.FutureAPI = &azFuture 5039 future.Result = future.result 5040 return nil 5041} 5042 5043// result is the default implementation for MongoDBResourcesDeleteMongoDBCollectionFuture.Result. 5044func (future *MongoDBResourcesDeleteMongoDBCollectionFuture) result(client MongoDBResourcesClient) (ar autorest.Response, err error) { 5045 var done bool 5046 done, err = future.DoneWithContext(context.Background(), client) 5047 if err != nil { 5048 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesDeleteMongoDBCollectionFuture", "Result", future.Response(), "Polling failure") 5049 return 5050 } 5051 if !done { 5052 ar.Response = future.Response() 5053 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesDeleteMongoDBCollectionFuture") 5054 return 5055 } 5056 ar.Response = future.Response() 5057 return 5058} 5059 5060// MongoDBResourcesDeleteMongoDBDatabaseFuture an abstraction for monitoring and retrieving the results of 5061// a long-running operation. 5062type MongoDBResourcesDeleteMongoDBDatabaseFuture struct { 5063 azure.FutureAPI 5064 // Result returns the result of the asynchronous operation. 5065 // If the operation has not completed it will return an error. 5066 Result func(MongoDBResourcesClient) (autorest.Response, error) 5067} 5068 5069// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5070func (future *MongoDBResourcesDeleteMongoDBDatabaseFuture) UnmarshalJSON(body []byte) error { 5071 var azFuture azure.Future 5072 if err := json.Unmarshal(body, &azFuture); err != nil { 5073 return err 5074 } 5075 future.FutureAPI = &azFuture 5076 future.Result = future.result 5077 return nil 5078} 5079 5080// result is the default implementation for MongoDBResourcesDeleteMongoDBDatabaseFuture.Result. 5081func (future *MongoDBResourcesDeleteMongoDBDatabaseFuture) result(client MongoDBResourcesClient) (ar autorest.Response, err error) { 5082 var done bool 5083 done, err = future.DoneWithContext(context.Background(), client) 5084 if err != nil { 5085 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesDeleteMongoDBDatabaseFuture", "Result", future.Response(), "Polling failure") 5086 return 5087 } 5088 if !done { 5089 ar.Response = future.Response() 5090 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesDeleteMongoDBDatabaseFuture") 5091 return 5092 } 5093 ar.Response = future.Response() 5094 return 5095} 5096 5097// MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture an abstraction for monitoring and retrieving 5098// the results of a long-running operation. 5099type MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture struct { 5100 azure.FutureAPI 5101 // Result returns the result of the asynchronous operation. 5102 // If the operation has not completed it will return an error. 5103 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5104} 5105 5106// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5107func (future *MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture) UnmarshalJSON(body []byte) error { 5108 var azFuture azure.Future 5109 if err := json.Unmarshal(body, &azFuture); err != nil { 5110 return err 5111 } 5112 future.FutureAPI = &azFuture 5113 future.Result = future.result 5114 return nil 5115} 5116 5117// result is the default implementation for MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture.Result. 5118func (future *MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5119 var done bool 5120 done, err = future.DoneWithContext(context.Background(), client) 5121 if err != nil { 5122 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture", "Result", future.Response(), "Polling failure") 5123 return 5124 } 5125 if !done { 5126 tsgr.Response.Response = future.Response() 5127 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture") 5128 return 5129 } 5130 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5131 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5132 tsgr, err = client.MigrateMongoDBCollectionToAutoscaleResponder(tsgr.Response.Response) 5133 if err != nil { 5134 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBCollectionToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5135 } 5136 } 5137 return 5138} 5139 5140// MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture an abstraction for monitoring and 5141// retrieving the results of a long-running operation. 5142type MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture struct { 5143 azure.FutureAPI 5144 // Result returns the result of the asynchronous operation. 5145 // If the operation has not completed it will return an error. 5146 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5147} 5148 5149// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5150func (future *MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture) UnmarshalJSON(body []byte) error { 5151 var azFuture azure.Future 5152 if err := json.Unmarshal(body, &azFuture); err != nil { 5153 return err 5154 } 5155 future.FutureAPI = &azFuture 5156 future.Result = future.result 5157 return nil 5158} 5159 5160// result is the default implementation for MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture.Result. 5161func (future *MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5162 var done bool 5163 done, err = future.DoneWithContext(context.Background(), client) 5164 if err != nil { 5165 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture", "Result", future.Response(), "Polling failure") 5166 return 5167 } 5168 if !done { 5169 tsgr.Response.Response = future.Response() 5170 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture") 5171 return 5172 } 5173 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5174 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5175 tsgr, err = client.MigrateMongoDBCollectionToManualThroughputResponder(tsgr.Response.Response) 5176 if err != nil { 5177 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBCollectionToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5178 } 5179 } 5180 return 5181} 5182 5183// MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture an abstraction for monitoring and retrieving the 5184// results of a long-running operation. 5185type MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture struct { 5186 azure.FutureAPI 5187 // Result returns the result of the asynchronous operation. 5188 // If the operation has not completed it will return an error. 5189 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5190} 5191 5192// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5193func (future *MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture) UnmarshalJSON(body []byte) error { 5194 var azFuture azure.Future 5195 if err := json.Unmarshal(body, &azFuture); err != nil { 5196 return err 5197 } 5198 future.FutureAPI = &azFuture 5199 future.Result = future.result 5200 return nil 5201} 5202 5203// result is the default implementation for MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture.Result. 5204func (future *MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5205 var done bool 5206 done, err = future.DoneWithContext(context.Background(), client) 5207 if err != nil { 5208 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture", "Result", future.Response(), "Polling failure") 5209 return 5210 } 5211 if !done { 5212 tsgr.Response.Response = future.Response() 5213 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture") 5214 return 5215 } 5216 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5217 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5218 tsgr, err = client.MigrateMongoDBDatabaseToAutoscaleResponder(tsgr.Response.Response) 5219 if err != nil { 5220 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBDatabaseToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5221 } 5222 } 5223 return 5224} 5225 5226// MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture an abstraction for monitoring and 5227// retrieving the results of a long-running operation. 5228type MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture struct { 5229 azure.FutureAPI 5230 // Result returns the result of the asynchronous operation. 5231 // If the operation has not completed it will return an error. 5232 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5233} 5234 5235// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5236func (future *MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture) UnmarshalJSON(body []byte) error { 5237 var azFuture azure.Future 5238 if err := json.Unmarshal(body, &azFuture); err != nil { 5239 return err 5240 } 5241 future.FutureAPI = &azFuture 5242 future.Result = future.result 5243 return nil 5244} 5245 5246// result is the default implementation for MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture.Result. 5247func (future *MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5248 var done bool 5249 done, err = future.DoneWithContext(context.Background(), client) 5250 if err != nil { 5251 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture", "Result", future.Response(), "Polling failure") 5252 return 5253 } 5254 if !done { 5255 tsgr.Response.Response = future.Response() 5256 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture") 5257 return 5258 } 5259 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5260 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5261 tsgr, err = client.MigrateMongoDBDatabaseToManualThroughputResponder(tsgr.Response.Response) 5262 if err != nil { 5263 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesMigrateMongoDBDatabaseToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5264 } 5265 } 5266 return 5267} 5268 5269// MongoDBResourcesUpdateMongoDBCollectionThroughputFuture an abstraction for monitoring and retrieving the 5270// results of a long-running operation. 5271type MongoDBResourcesUpdateMongoDBCollectionThroughputFuture struct { 5272 azure.FutureAPI 5273 // Result returns the result of the asynchronous operation. 5274 // If the operation has not completed it will return an error. 5275 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5276} 5277 5278// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5279func (future *MongoDBResourcesUpdateMongoDBCollectionThroughputFuture) UnmarshalJSON(body []byte) error { 5280 var azFuture azure.Future 5281 if err := json.Unmarshal(body, &azFuture); err != nil { 5282 return err 5283 } 5284 future.FutureAPI = &azFuture 5285 future.Result = future.result 5286 return nil 5287} 5288 5289// result is the default implementation for MongoDBResourcesUpdateMongoDBCollectionThroughputFuture.Result. 5290func (future *MongoDBResourcesUpdateMongoDBCollectionThroughputFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5291 var done bool 5292 done, err = future.DoneWithContext(context.Background(), client) 5293 if err != nil { 5294 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesUpdateMongoDBCollectionThroughputFuture", "Result", future.Response(), "Polling failure") 5295 return 5296 } 5297 if !done { 5298 tsgr.Response.Response = future.Response() 5299 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesUpdateMongoDBCollectionThroughputFuture") 5300 return 5301 } 5302 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5303 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5304 tsgr, err = client.UpdateMongoDBCollectionThroughputResponder(tsgr.Response.Response) 5305 if err != nil { 5306 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesUpdateMongoDBCollectionThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5307 } 5308 } 5309 return 5310} 5311 5312// MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture an abstraction for monitoring and retrieving the 5313// results of a long-running operation. 5314type MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture struct { 5315 azure.FutureAPI 5316 // Result returns the result of the asynchronous operation. 5317 // If the operation has not completed it will return an error. 5318 Result func(MongoDBResourcesClient) (ThroughputSettingsGetResults, error) 5319} 5320 5321// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5322func (future *MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture) UnmarshalJSON(body []byte) error { 5323 var azFuture azure.Future 5324 if err := json.Unmarshal(body, &azFuture); err != nil { 5325 return err 5326 } 5327 future.FutureAPI = &azFuture 5328 future.Result = future.result 5329 return nil 5330} 5331 5332// result is the default implementation for MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture.Result. 5333func (future *MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture) result(client MongoDBResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 5334 var done bool 5335 done, err = future.DoneWithContext(context.Background(), client) 5336 if err != nil { 5337 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture", "Result", future.Response(), "Polling failure") 5338 return 5339 } 5340 if !done { 5341 tsgr.Response.Response = future.Response() 5342 err = azure.NewAsyncOpIncompleteError("documentdb.MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture") 5343 return 5344 } 5345 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5346 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 5347 tsgr, err = client.UpdateMongoDBDatabaseThroughputResponder(tsgr.Response.Response) 5348 if err != nil { 5349 err = autorest.NewErrorWithError(err, "documentdb.MongoDBResourcesUpdateMongoDBDatabaseThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 5350 } 5351 } 5352 return 5353} 5354 5355// MongoIndex cosmos DB MongoDB collection index key 5356type MongoIndex struct { 5357 // Key - Cosmos DB MongoDB collection index keys 5358 Key *MongoIndexKeys `json:"key,omitempty"` 5359 // Options - Cosmos DB MongoDB collection index key options 5360 Options *MongoIndexOptions `json:"options,omitempty"` 5361} 5362 5363// MongoIndexKeys cosmos DB MongoDB collection resource object 5364type MongoIndexKeys struct { 5365 // Keys - List of keys for each MongoDB collection in the Azure Cosmos DB service 5366 Keys *[]string `json:"keys,omitempty"` 5367} 5368 5369// MongoIndexOptions cosmos DB MongoDB collection index options 5370type MongoIndexOptions struct { 5371 // ExpireAfterSeconds - Expire after seconds 5372 ExpireAfterSeconds *int32 `json:"expireAfterSeconds,omitempty"` 5373 // Unique - Is unique or not 5374 Unique *bool `json:"unique,omitempty"` 5375} 5376 5377// NotebookWorkspace a notebook workspace resource 5378type NotebookWorkspace struct { 5379 autorest.Response `json:"-"` 5380 // NotebookWorkspaceProperties - Resource properties. 5381 *NotebookWorkspaceProperties `json:"properties,omitempty"` 5382 // ID - READ-ONLY; The unique resource identifier of the database account. 5383 ID *string `json:"id,omitempty"` 5384 // Name - READ-ONLY; The name of the database account. 5385 Name *string `json:"name,omitempty"` 5386 // Type - READ-ONLY; The type of Azure resource. 5387 Type *string `json:"type,omitempty"` 5388} 5389 5390// MarshalJSON is the custom marshaler for NotebookWorkspace. 5391func (nw NotebookWorkspace) MarshalJSON() ([]byte, error) { 5392 objectMap := make(map[string]interface{}) 5393 if nw.NotebookWorkspaceProperties != nil { 5394 objectMap["properties"] = nw.NotebookWorkspaceProperties 5395 } 5396 return json.Marshal(objectMap) 5397} 5398 5399// UnmarshalJSON is the custom unmarshaler for NotebookWorkspace struct. 5400func (nw *NotebookWorkspace) UnmarshalJSON(body []byte) error { 5401 var m map[string]*json.RawMessage 5402 err := json.Unmarshal(body, &m) 5403 if err != nil { 5404 return err 5405 } 5406 for k, v := range m { 5407 switch k { 5408 case "properties": 5409 if v != nil { 5410 var notebookWorkspaceProperties NotebookWorkspaceProperties 5411 err = json.Unmarshal(*v, ¬ebookWorkspaceProperties) 5412 if err != nil { 5413 return err 5414 } 5415 nw.NotebookWorkspaceProperties = ¬ebookWorkspaceProperties 5416 } 5417 case "id": 5418 if v != nil { 5419 var ID string 5420 err = json.Unmarshal(*v, &ID) 5421 if err != nil { 5422 return err 5423 } 5424 nw.ID = &ID 5425 } 5426 case "name": 5427 if v != nil { 5428 var name string 5429 err = json.Unmarshal(*v, &name) 5430 if err != nil { 5431 return err 5432 } 5433 nw.Name = &name 5434 } 5435 case "type": 5436 if v != nil { 5437 var typeVar string 5438 err = json.Unmarshal(*v, &typeVar) 5439 if err != nil { 5440 return err 5441 } 5442 nw.Type = &typeVar 5443 } 5444 } 5445 } 5446 5447 return nil 5448} 5449 5450// NotebookWorkspaceConnectionInfoResult the connection info for the given notebook workspace 5451type NotebookWorkspaceConnectionInfoResult struct { 5452 autorest.Response `json:"-"` 5453 // AuthToken - READ-ONLY; Specifies auth token used for connecting to Notebook server (uses token-based auth). 5454 AuthToken *string `json:"authToken,omitempty"` 5455 // NotebookServerEndpoint - READ-ONLY; Specifies the endpoint of Notebook server. 5456 NotebookServerEndpoint *string `json:"notebookServerEndpoint,omitempty"` 5457} 5458 5459// MarshalJSON is the custom marshaler for NotebookWorkspaceConnectionInfoResult. 5460func (nwcir NotebookWorkspaceConnectionInfoResult) MarshalJSON() ([]byte, error) { 5461 objectMap := make(map[string]interface{}) 5462 return json.Marshal(objectMap) 5463} 5464 5465// NotebookWorkspaceCreateUpdateParameters parameters to create a notebook workspace resource 5466type NotebookWorkspaceCreateUpdateParameters struct { 5467 // ID - READ-ONLY; The unique resource identifier of the database account. 5468 ID *string `json:"id,omitempty"` 5469 // Name - READ-ONLY; The name of the database account. 5470 Name *string `json:"name,omitempty"` 5471 // Type - READ-ONLY; The type of Azure resource. 5472 Type *string `json:"type,omitempty"` 5473} 5474 5475// MarshalJSON is the custom marshaler for NotebookWorkspaceCreateUpdateParameters. 5476func (nwcup NotebookWorkspaceCreateUpdateParameters) MarshalJSON() ([]byte, error) { 5477 objectMap := make(map[string]interface{}) 5478 return json.Marshal(objectMap) 5479} 5480 5481// NotebookWorkspaceListResult a list of notebook workspace resources 5482type NotebookWorkspaceListResult struct { 5483 autorest.Response `json:"-"` 5484 // Value - Array of notebook workspace resources 5485 Value *[]NotebookWorkspace `json:"value,omitempty"` 5486} 5487 5488// NotebookWorkspaceProperties properties of a notebook workspace resource. 5489type NotebookWorkspaceProperties struct { 5490 // NotebookServerEndpoint - READ-ONLY; Specifies the endpoint of Notebook server. 5491 NotebookServerEndpoint *string `json:"notebookServerEndpoint,omitempty"` 5492 // Status - READ-ONLY; Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating. 5493 Status *string `json:"status,omitempty"` 5494} 5495 5496// MarshalJSON is the custom marshaler for NotebookWorkspaceProperties. 5497func (nwp NotebookWorkspaceProperties) MarshalJSON() ([]byte, error) { 5498 objectMap := make(map[string]interface{}) 5499 return json.Marshal(objectMap) 5500} 5501 5502// NotebookWorkspacesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a 5503// long-running operation. 5504type NotebookWorkspacesCreateOrUpdateFuture struct { 5505 azure.FutureAPI 5506 // Result returns the result of the asynchronous operation. 5507 // If the operation has not completed it will return an error. 5508 Result func(NotebookWorkspacesClient) (NotebookWorkspace, error) 5509} 5510 5511// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5512func (future *NotebookWorkspacesCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 5513 var azFuture azure.Future 5514 if err := json.Unmarshal(body, &azFuture); err != nil { 5515 return err 5516 } 5517 future.FutureAPI = &azFuture 5518 future.Result = future.result 5519 return nil 5520} 5521 5522// result is the default implementation for NotebookWorkspacesCreateOrUpdateFuture.Result. 5523func (future *NotebookWorkspacesCreateOrUpdateFuture) result(client NotebookWorkspacesClient) (nw NotebookWorkspace, err error) { 5524 var done bool 5525 done, err = future.DoneWithContext(context.Background(), client) 5526 if err != nil { 5527 err = autorest.NewErrorWithError(err, "documentdb.NotebookWorkspacesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 5528 return 5529 } 5530 if !done { 5531 nw.Response.Response = future.Response() 5532 err = azure.NewAsyncOpIncompleteError("documentdb.NotebookWorkspacesCreateOrUpdateFuture") 5533 return 5534 } 5535 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 5536 if nw.Response.Response, err = future.GetResult(sender); err == nil && nw.Response.Response.StatusCode != http.StatusNoContent { 5537 nw, err = client.CreateOrUpdateResponder(nw.Response.Response) 5538 if err != nil { 5539 err = autorest.NewErrorWithError(err, "documentdb.NotebookWorkspacesCreateOrUpdateFuture", "Result", nw.Response.Response, "Failure responding to request") 5540 } 5541 } 5542 return 5543} 5544 5545// NotebookWorkspacesDeleteFuture an abstraction for monitoring and retrieving the results of a 5546// long-running operation. 5547type NotebookWorkspacesDeleteFuture struct { 5548 azure.FutureAPI 5549 // Result returns the result of the asynchronous operation. 5550 // If the operation has not completed it will return an error. 5551 Result func(NotebookWorkspacesClient) (autorest.Response, error) 5552} 5553 5554// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5555func (future *NotebookWorkspacesDeleteFuture) UnmarshalJSON(body []byte) error { 5556 var azFuture azure.Future 5557 if err := json.Unmarshal(body, &azFuture); err != nil { 5558 return err 5559 } 5560 future.FutureAPI = &azFuture 5561 future.Result = future.result 5562 return nil 5563} 5564 5565// result is the default implementation for NotebookWorkspacesDeleteFuture.Result. 5566func (future *NotebookWorkspacesDeleteFuture) result(client NotebookWorkspacesClient) (ar autorest.Response, err error) { 5567 var done bool 5568 done, err = future.DoneWithContext(context.Background(), client) 5569 if err != nil { 5570 err = autorest.NewErrorWithError(err, "documentdb.NotebookWorkspacesDeleteFuture", "Result", future.Response(), "Polling failure") 5571 return 5572 } 5573 if !done { 5574 ar.Response = future.Response() 5575 err = azure.NewAsyncOpIncompleteError("documentdb.NotebookWorkspacesDeleteFuture") 5576 return 5577 } 5578 ar.Response = future.Response() 5579 return 5580} 5581 5582// NotebookWorkspacesRegenerateAuthTokenFuture an abstraction for monitoring and retrieving the results of 5583// a long-running operation. 5584type NotebookWorkspacesRegenerateAuthTokenFuture struct { 5585 azure.FutureAPI 5586 // Result returns the result of the asynchronous operation. 5587 // If the operation has not completed it will return an error. 5588 Result func(NotebookWorkspacesClient) (autorest.Response, error) 5589} 5590 5591// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5592func (future *NotebookWorkspacesRegenerateAuthTokenFuture) UnmarshalJSON(body []byte) error { 5593 var azFuture azure.Future 5594 if err := json.Unmarshal(body, &azFuture); err != nil { 5595 return err 5596 } 5597 future.FutureAPI = &azFuture 5598 future.Result = future.result 5599 return nil 5600} 5601 5602// result is the default implementation for NotebookWorkspacesRegenerateAuthTokenFuture.Result. 5603func (future *NotebookWorkspacesRegenerateAuthTokenFuture) result(client NotebookWorkspacesClient) (ar autorest.Response, err error) { 5604 var done bool 5605 done, err = future.DoneWithContext(context.Background(), client) 5606 if err != nil { 5607 err = autorest.NewErrorWithError(err, "documentdb.NotebookWorkspacesRegenerateAuthTokenFuture", "Result", future.Response(), "Polling failure") 5608 return 5609 } 5610 if !done { 5611 ar.Response = future.Response() 5612 err = azure.NewAsyncOpIncompleteError("documentdb.NotebookWorkspacesRegenerateAuthTokenFuture") 5613 return 5614 } 5615 ar.Response = future.Response() 5616 return 5617} 5618 5619// NotebookWorkspacesStartFuture an abstraction for monitoring and retrieving the results of a long-running 5620// operation. 5621type NotebookWorkspacesStartFuture struct { 5622 azure.FutureAPI 5623 // Result returns the result of the asynchronous operation. 5624 // If the operation has not completed it will return an error. 5625 Result func(NotebookWorkspacesClient) (autorest.Response, error) 5626} 5627 5628// UnmarshalJSON is the custom unmarshaller for CreateFuture. 5629func (future *NotebookWorkspacesStartFuture) UnmarshalJSON(body []byte) error { 5630 var azFuture azure.Future 5631 if err := json.Unmarshal(body, &azFuture); err != nil { 5632 return err 5633 } 5634 future.FutureAPI = &azFuture 5635 future.Result = future.result 5636 return nil 5637} 5638 5639// result is the default implementation for NotebookWorkspacesStartFuture.Result. 5640func (future *NotebookWorkspacesStartFuture) result(client NotebookWorkspacesClient) (ar autorest.Response, err error) { 5641 var done bool 5642 done, err = future.DoneWithContext(context.Background(), client) 5643 if err != nil { 5644 err = autorest.NewErrorWithError(err, "documentdb.NotebookWorkspacesStartFuture", "Result", future.Response(), "Polling failure") 5645 return 5646 } 5647 if !done { 5648 ar.Response = future.Response() 5649 err = azure.NewAsyncOpIncompleteError("documentdb.NotebookWorkspacesStartFuture") 5650 return 5651 } 5652 ar.Response = future.Response() 5653 return 5654} 5655 5656// Operation REST API operation 5657type Operation struct { 5658 // Name - Operation name: {provider}/{resource}/{operation} 5659 Name *string `json:"name,omitempty"` 5660 // Display - The object that represents the operation. 5661 Display *OperationDisplay `json:"display,omitempty"` 5662} 5663 5664// OperationDisplay the object that represents the operation. 5665type OperationDisplay struct { 5666 // Provider - Service provider: Microsoft.ResourceProvider 5667 Provider *string `json:"Provider,omitempty"` 5668 // Resource - Resource on which the operation is performed: Profile, endpoint, etc. 5669 Resource *string `json:"Resource,omitempty"` 5670 // Operation - Operation type: Read, write, delete, etc. 5671 Operation *string `json:"Operation,omitempty"` 5672 // Description - Description of operation 5673 Description *string `json:"Description,omitempty"` 5674} 5675 5676// OperationListResult result of the request to list Resource Provider operations. It contains a list of 5677// operations and a URL link to get the next set of results. 5678type OperationListResult struct { 5679 autorest.Response `json:"-"` 5680 // Value - List of operations supported by the Resource Provider. 5681 Value *[]Operation `json:"value,omitempty"` 5682 // NextLink - URL to get the next set of operation list results if there are any. 5683 NextLink *string `json:"nextLink,omitempty"` 5684} 5685 5686// OperationListResultIterator provides access to a complete listing of Operation values. 5687type OperationListResultIterator struct { 5688 i int 5689 page OperationListResultPage 5690} 5691 5692// NextWithContext advances to the next value. If there was an error making 5693// the request the iterator does not advance and the error is returned. 5694func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { 5695 if tracing.IsEnabled() { 5696 ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") 5697 defer func() { 5698 sc := -1 5699 if iter.Response().Response.Response != nil { 5700 sc = iter.Response().Response.Response.StatusCode 5701 } 5702 tracing.EndSpan(ctx, sc, err) 5703 }() 5704 } 5705 iter.i++ 5706 if iter.i < len(iter.page.Values()) { 5707 return nil 5708 } 5709 err = iter.page.NextWithContext(ctx) 5710 if err != nil { 5711 iter.i-- 5712 return err 5713 } 5714 iter.i = 0 5715 return nil 5716} 5717 5718// Next advances to the next value. If there was an error making 5719// the request the iterator does not advance and the error is returned. 5720// Deprecated: Use NextWithContext() instead. 5721func (iter *OperationListResultIterator) Next() error { 5722 return iter.NextWithContext(context.Background()) 5723} 5724 5725// NotDone returns true if the enumeration should be started or is not yet complete. 5726func (iter OperationListResultIterator) NotDone() bool { 5727 return iter.page.NotDone() && iter.i < len(iter.page.Values()) 5728} 5729 5730// Response returns the raw server response from the last page request. 5731func (iter OperationListResultIterator) Response() OperationListResult { 5732 return iter.page.Response() 5733} 5734 5735// Value returns the current value or a zero-initialized value if the 5736// iterator has advanced beyond the end of the collection. 5737func (iter OperationListResultIterator) Value() Operation { 5738 if !iter.page.NotDone() { 5739 return Operation{} 5740 } 5741 return iter.page.Values()[iter.i] 5742} 5743 5744// Creates a new instance of the OperationListResultIterator type. 5745func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { 5746 return OperationListResultIterator{page: page} 5747} 5748 5749// IsEmpty returns true if the ListResult contains no values. 5750func (olr OperationListResult) IsEmpty() bool { 5751 return olr.Value == nil || len(*olr.Value) == 0 5752} 5753 5754// hasNextLink returns true if the NextLink is not empty. 5755func (olr OperationListResult) hasNextLink() bool { 5756 return olr.NextLink != nil && len(*olr.NextLink) != 0 5757} 5758 5759// operationListResultPreparer prepares a request to retrieve the next set of results. 5760// It returns nil if no more results exist. 5761func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { 5762 if !olr.hasNextLink() { 5763 return nil, nil 5764 } 5765 return autorest.Prepare((&http.Request{}).WithContext(ctx), 5766 autorest.AsJSON(), 5767 autorest.AsGet(), 5768 autorest.WithBaseURL(to.String(olr.NextLink))) 5769} 5770 5771// OperationListResultPage contains a page of Operation values. 5772type OperationListResultPage struct { 5773 fn func(context.Context, OperationListResult) (OperationListResult, error) 5774 olr OperationListResult 5775} 5776 5777// NextWithContext advances to the next page of values. If there was an error making 5778// the request the page does not advance and the error is returned. 5779func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { 5780 if tracing.IsEnabled() { 5781 ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") 5782 defer func() { 5783 sc := -1 5784 if page.Response().Response.Response != nil { 5785 sc = page.Response().Response.Response.StatusCode 5786 } 5787 tracing.EndSpan(ctx, sc, err) 5788 }() 5789 } 5790 for { 5791 next, err := page.fn(ctx, page.olr) 5792 if err != nil { 5793 return err 5794 } 5795 page.olr = next 5796 if !next.hasNextLink() || !next.IsEmpty() { 5797 break 5798 } 5799 } 5800 return nil 5801} 5802 5803// Next advances to the next page of values. If there was an error making 5804// the request the page does not advance and the error is returned. 5805// Deprecated: Use NextWithContext() instead. 5806func (page *OperationListResultPage) Next() error { 5807 return page.NextWithContext(context.Background()) 5808} 5809 5810// NotDone returns true if the page enumeration should be started or is not yet complete. 5811func (page OperationListResultPage) NotDone() bool { 5812 return !page.olr.IsEmpty() 5813} 5814 5815// Response returns the raw server response from the last page request. 5816func (page OperationListResultPage) Response() OperationListResult { 5817 return page.olr 5818} 5819 5820// Values returns the slice of values for the current page or nil if there are no values. 5821func (page OperationListResultPage) Values() []Operation { 5822 if page.olr.IsEmpty() { 5823 return nil 5824 } 5825 return *page.olr.Value 5826} 5827 5828// Creates a new instance of the OperationListResultPage type. 5829func NewOperationListResultPage(cur OperationListResult, getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { 5830 return OperationListResultPage{ 5831 fn: getNextPage, 5832 olr: cur, 5833 } 5834} 5835 5836// OptionsResource cosmos DB options resource object 5837type OptionsResource struct { 5838 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 5839 Throughput *int32 `json:"throughput,omitempty"` 5840 // AutoscaleSettings - Specifies the Autoscale settings. 5841 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 5842} 5843 5844// PartitionMetric the metric values for a single partition. 5845type PartitionMetric struct { 5846 // PartitionID - READ-ONLY; The partition id (GUID identifier) of the metric values. 5847 PartitionID *string `json:"partitionId,omitempty"` 5848 // PartitionKeyRangeID - READ-ONLY; The partition key range id (integer identifier) of the metric values. 5849 PartitionKeyRangeID *string `json:"partitionKeyRangeId,omitempty"` 5850 // StartTime - READ-ONLY; The start time for the metric (ISO-8601 format). 5851 StartTime *date.Time `json:"startTime,omitempty"` 5852 // EndTime - READ-ONLY; The end time for the metric (ISO-8601 format). 5853 EndTime *date.Time `json:"endTime,omitempty"` 5854 // TimeGrain - READ-ONLY; The time grain to be used to summarize the metric values. 5855 TimeGrain *string `json:"timeGrain,omitempty"` 5856 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 5857 Unit UnitType `json:"unit,omitempty"` 5858 // Name - READ-ONLY; The name information for the metric. 5859 Name *MetricName `json:"name,omitempty"` 5860 // MetricValues - READ-ONLY; The metric values for the specified time window and timestep. 5861 MetricValues *[]MetricValue `json:"metricValues,omitempty"` 5862} 5863 5864// MarshalJSON is the custom marshaler for PartitionMetric. 5865func (pm PartitionMetric) MarshalJSON() ([]byte, error) { 5866 objectMap := make(map[string]interface{}) 5867 if pm.Unit != "" { 5868 objectMap["unit"] = pm.Unit 5869 } 5870 return json.Marshal(objectMap) 5871} 5872 5873// PartitionMetricListResult the response to a list partition metrics request. 5874type PartitionMetricListResult struct { 5875 autorest.Response `json:"-"` 5876 // Value - READ-ONLY; The list of partition-level metrics for the account. 5877 Value *[]PartitionMetric `json:"value,omitempty"` 5878} 5879 5880// MarshalJSON is the custom marshaler for PartitionMetricListResult. 5881func (pmlr PartitionMetricListResult) MarshalJSON() ([]byte, error) { 5882 objectMap := make(map[string]interface{}) 5883 return json.Marshal(objectMap) 5884} 5885 5886// PartitionUsage the partition level usage data for a usage request. 5887type PartitionUsage struct { 5888 // PartitionID - READ-ONLY; The partition id (GUID identifier) of the usages. 5889 PartitionID *string `json:"partitionId,omitempty"` 5890 // PartitionKeyRangeID - READ-ONLY; The partition key range id (integer identifier) of the usages. 5891 PartitionKeyRangeID *string `json:"partitionKeyRangeId,omitempty"` 5892 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 5893 Unit UnitType `json:"unit,omitempty"` 5894 // Name - READ-ONLY; The name information for the metric. 5895 Name *MetricName `json:"name,omitempty"` 5896 // QuotaPeriod - READ-ONLY; The quota period used to summarize the usage values. 5897 QuotaPeriod *string `json:"quotaPeriod,omitempty"` 5898 // Limit - READ-ONLY; Maximum value for this metric 5899 Limit *int64 `json:"limit,omitempty"` 5900 // CurrentValue - READ-ONLY; Current value for this metric 5901 CurrentValue *int64 `json:"currentValue,omitempty"` 5902} 5903 5904// MarshalJSON is the custom marshaler for PartitionUsage. 5905func (pu PartitionUsage) MarshalJSON() ([]byte, error) { 5906 objectMap := make(map[string]interface{}) 5907 if pu.Unit != "" { 5908 objectMap["unit"] = pu.Unit 5909 } 5910 return json.Marshal(objectMap) 5911} 5912 5913// PartitionUsagesResult the response to a list partition level usage request. 5914type PartitionUsagesResult struct { 5915 autorest.Response `json:"-"` 5916 // Value - READ-ONLY; The list of partition-level usages for the database. A usage is a point in time metric 5917 Value *[]PartitionUsage `json:"value,omitempty"` 5918} 5919 5920// MarshalJSON is the custom marshaler for PartitionUsagesResult. 5921func (pur PartitionUsagesResult) MarshalJSON() ([]byte, error) { 5922 objectMap := make(map[string]interface{}) 5923 return json.Marshal(objectMap) 5924} 5925 5926// PercentileMetric percentile Metric data 5927type PercentileMetric struct { 5928 // StartTime - READ-ONLY; The start time for the metric (ISO-8601 format). 5929 StartTime *date.Time `json:"startTime,omitempty"` 5930 // EndTime - READ-ONLY; The end time for the metric (ISO-8601 format). 5931 EndTime *date.Time `json:"endTime,omitempty"` 5932 // TimeGrain - READ-ONLY; The time grain to be used to summarize the metric values. 5933 TimeGrain *string `json:"timeGrain,omitempty"` 5934 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 5935 Unit UnitType `json:"unit,omitempty"` 5936 // Name - READ-ONLY; The name information for the metric. 5937 Name *MetricName `json:"name,omitempty"` 5938 // MetricValues - READ-ONLY; The percentile metric values for the specified time window and timestep. 5939 MetricValues *[]PercentileMetricValue `json:"metricValues,omitempty"` 5940} 5941 5942// MarshalJSON is the custom marshaler for PercentileMetric. 5943func (pm PercentileMetric) MarshalJSON() ([]byte, error) { 5944 objectMap := make(map[string]interface{}) 5945 if pm.Unit != "" { 5946 objectMap["unit"] = pm.Unit 5947 } 5948 return json.Marshal(objectMap) 5949} 5950 5951// PercentileMetricListResult the response to a list percentile metrics request. 5952type PercentileMetricListResult struct { 5953 autorest.Response `json:"-"` 5954 // Value - READ-ONLY; The list of percentile metrics for the account. 5955 Value *[]PercentileMetric `json:"value,omitempty"` 5956} 5957 5958// MarshalJSON is the custom marshaler for PercentileMetricListResult. 5959func (pmlr PercentileMetricListResult) MarshalJSON() ([]byte, error) { 5960 objectMap := make(map[string]interface{}) 5961 return json.Marshal(objectMap) 5962} 5963 5964// PercentileMetricValue represents percentile metrics values. 5965type PercentileMetricValue struct { 5966 // P10 - READ-ONLY; The 10th percentile value for the metric. 5967 P10 *float64 `json:"P10,omitempty"` 5968 // P25 - READ-ONLY; The 25th percentile value for the metric. 5969 P25 *float64 `json:"P25,omitempty"` 5970 // P50 - READ-ONLY; The 50th percentile value for the metric. 5971 P50 *float64 `json:"P50,omitempty"` 5972 // P75 - READ-ONLY; The 75th percentile value for the metric. 5973 P75 *float64 `json:"P75,omitempty"` 5974 // P90 - READ-ONLY; The 90th percentile value for the metric. 5975 P90 *float64 `json:"P90,omitempty"` 5976 // P95 - READ-ONLY; The 95th percentile value for the metric. 5977 P95 *float64 `json:"P95,omitempty"` 5978 // P99 - READ-ONLY; The 99th percentile value for the metric. 5979 P99 *float64 `json:"P99,omitempty"` 5980 // Count - READ-ONLY; The number of values for the metric. 5981 Count *float64 `json:"_count,omitempty"` 5982 // Average - READ-ONLY; The average value of the metric. 5983 Average *float64 `json:"average,omitempty"` 5984 // Maximum - READ-ONLY; The max value of the metric. 5985 Maximum *float64 `json:"maximum,omitempty"` 5986 // Minimum - READ-ONLY; The min value of the metric. 5987 Minimum *float64 `json:"minimum,omitempty"` 5988 // Timestamp - READ-ONLY; The metric timestamp (ISO-8601 format). 5989 Timestamp *date.Time `json:"timestamp,omitempty"` 5990 // Total - READ-ONLY; The total value of the metric. 5991 Total *float64 `json:"total,omitempty"` 5992} 5993 5994// MarshalJSON is the custom marshaler for PercentileMetricValue. 5995func (pmv PercentileMetricValue) MarshalJSON() ([]byte, error) { 5996 objectMap := make(map[string]interface{}) 5997 return json.Marshal(objectMap) 5998} 5999 6000// PeriodicModeBackupPolicy the object representing periodic mode backup policy. 6001type PeriodicModeBackupPolicy struct { 6002 // PeriodicModeProperties - Configuration values for periodic mode backup 6003 PeriodicModeProperties *PeriodicModeProperties `json:"periodicModeProperties,omitempty"` 6004 // MigrationState - The object representing the state of the migration between the backup policies. 6005 MigrationState *BackupPolicyMigrationState `json:"migrationState,omitempty"` 6006 // Type - Possible values include: 'TypeBackupPolicy', 'TypePeriodic', 'TypeContinuous' 6007 Type Type `json:"type,omitempty"` 6008} 6009 6010// MarshalJSON is the custom marshaler for PeriodicModeBackupPolicy. 6011func (pmbp PeriodicModeBackupPolicy) MarshalJSON() ([]byte, error) { 6012 pmbp.Type = TypePeriodic 6013 objectMap := make(map[string]interface{}) 6014 if pmbp.PeriodicModeProperties != nil { 6015 objectMap["periodicModeProperties"] = pmbp.PeriodicModeProperties 6016 } 6017 if pmbp.MigrationState != nil { 6018 objectMap["migrationState"] = pmbp.MigrationState 6019 } 6020 if pmbp.Type != "" { 6021 objectMap["type"] = pmbp.Type 6022 } 6023 return json.Marshal(objectMap) 6024} 6025 6026// AsPeriodicModeBackupPolicy is the BasicBackupPolicy implementation for PeriodicModeBackupPolicy. 6027func (pmbp PeriodicModeBackupPolicy) AsPeriodicModeBackupPolicy() (*PeriodicModeBackupPolicy, bool) { 6028 return &pmbp, true 6029} 6030 6031// AsContinuousModeBackupPolicy is the BasicBackupPolicy implementation for PeriodicModeBackupPolicy. 6032func (pmbp PeriodicModeBackupPolicy) AsContinuousModeBackupPolicy() (*ContinuousModeBackupPolicy, bool) { 6033 return nil, false 6034} 6035 6036// AsBackupPolicy is the BasicBackupPolicy implementation for PeriodicModeBackupPolicy. 6037func (pmbp PeriodicModeBackupPolicy) AsBackupPolicy() (*BackupPolicy, bool) { 6038 return nil, false 6039} 6040 6041// AsBasicBackupPolicy is the BasicBackupPolicy implementation for PeriodicModeBackupPolicy. 6042func (pmbp PeriodicModeBackupPolicy) AsBasicBackupPolicy() (BasicBackupPolicy, bool) { 6043 return &pmbp, true 6044} 6045 6046// PeriodicModeProperties configuration values for periodic mode backup 6047type PeriodicModeProperties struct { 6048 // BackupIntervalInMinutes - An integer representing the interval in minutes between two backups 6049 BackupIntervalInMinutes *int32 `json:"backupIntervalInMinutes,omitempty"` 6050 // BackupRetentionIntervalInHours - An integer representing the time (in hours) that each backup is retained 6051 BackupRetentionIntervalInHours *int32 `json:"backupRetentionIntervalInHours,omitempty"` 6052} 6053 6054// Permission the set of data plane operations permitted through this Role Definition. 6055type Permission struct { 6056 // DataActions - An array of data actions that are allowed. 6057 DataActions *[]string `json:"dataActions,omitempty"` 6058 // NotDataActions - An array of data actions that are denied. 6059 NotDataActions *[]string `json:"notDataActions,omitempty"` 6060} 6061 6062// PrivateEndpointConnection a private endpoint connection 6063type PrivateEndpointConnection struct { 6064 autorest.Response `json:"-"` 6065 // PrivateEndpointConnectionProperties - Resource properties. 6066 *PrivateEndpointConnectionProperties `json:"properties,omitempty"` 6067 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6068 ID *string `json:"id,omitempty"` 6069 // Name - READ-ONLY; The name of the resource 6070 Name *string `json:"name,omitempty"` 6071 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6072 Type *string `json:"type,omitempty"` 6073} 6074 6075// MarshalJSON is the custom marshaler for PrivateEndpointConnection. 6076func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) { 6077 objectMap := make(map[string]interface{}) 6078 if pec.PrivateEndpointConnectionProperties != nil { 6079 objectMap["properties"] = pec.PrivateEndpointConnectionProperties 6080 } 6081 return json.Marshal(objectMap) 6082} 6083 6084// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct. 6085func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { 6086 var m map[string]*json.RawMessage 6087 err := json.Unmarshal(body, &m) 6088 if err != nil { 6089 return err 6090 } 6091 for k, v := range m { 6092 switch k { 6093 case "properties": 6094 if v != nil { 6095 var privateEndpointConnectionProperties PrivateEndpointConnectionProperties 6096 err = json.Unmarshal(*v, &privateEndpointConnectionProperties) 6097 if err != nil { 6098 return err 6099 } 6100 pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties 6101 } 6102 case "id": 6103 if v != nil { 6104 var ID string 6105 err = json.Unmarshal(*v, &ID) 6106 if err != nil { 6107 return err 6108 } 6109 pec.ID = &ID 6110 } 6111 case "name": 6112 if v != nil { 6113 var name string 6114 err = json.Unmarshal(*v, &name) 6115 if err != nil { 6116 return err 6117 } 6118 pec.Name = &name 6119 } 6120 case "type": 6121 if v != nil { 6122 var typeVar string 6123 err = json.Unmarshal(*v, &typeVar) 6124 if err != nil { 6125 return err 6126 } 6127 pec.Type = &typeVar 6128 } 6129 } 6130 } 6131 6132 return nil 6133} 6134 6135// PrivateEndpointConnectionListResult a list of private endpoint connections 6136type PrivateEndpointConnectionListResult struct { 6137 autorest.Response `json:"-"` 6138 // Value - Array of private endpoint connections 6139 Value *[]PrivateEndpointConnection `json:"value,omitempty"` 6140} 6141 6142// PrivateEndpointConnectionProperties properties of a private endpoint connection. 6143type PrivateEndpointConnectionProperties struct { 6144 // PrivateEndpoint - Private endpoint which the connection belongs to. 6145 PrivateEndpoint *PrivateEndpointProperty `json:"privateEndpoint,omitempty"` 6146 // PrivateLinkServiceConnectionState - Connection State of the Private Endpoint Connection. 6147 PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateProperty `json:"privateLinkServiceConnectionState,omitempty"` 6148 // GroupID - Group id of the private endpoint. 6149 GroupID *string `json:"groupId,omitempty"` 6150 // ProvisioningState - Provisioning state of the private endpoint. 6151 ProvisioningState *string `json:"provisioningState,omitempty"` 6152} 6153 6154// PrivateEndpointConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results 6155// of a long-running operation. 6156type PrivateEndpointConnectionsCreateOrUpdateFuture struct { 6157 azure.FutureAPI 6158 // Result returns the result of the asynchronous operation. 6159 // If the operation has not completed it will return an error. 6160 Result func(PrivateEndpointConnectionsClient) (PrivateEndpointConnection, error) 6161} 6162 6163// UnmarshalJSON is the custom unmarshaller for CreateFuture. 6164func (future *PrivateEndpointConnectionsCreateOrUpdateFuture) UnmarshalJSON(body []byte) error { 6165 var azFuture azure.Future 6166 if err := json.Unmarshal(body, &azFuture); err != nil { 6167 return err 6168 } 6169 future.FutureAPI = &azFuture 6170 future.Result = future.result 6171 return nil 6172} 6173 6174// result is the default implementation for PrivateEndpointConnectionsCreateOrUpdateFuture.Result. 6175func (future *PrivateEndpointConnectionsCreateOrUpdateFuture) result(client PrivateEndpointConnectionsClient) (pec PrivateEndpointConnection, err error) { 6176 var done bool 6177 done, err = future.DoneWithContext(context.Background(), client) 6178 if err != nil { 6179 err = autorest.NewErrorWithError(err, "documentdb.PrivateEndpointConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") 6180 return 6181 } 6182 if !done { 6183 pec.Response.Response = future.Response() 6184 err = azure.NewAsyncOpIncompleteError("documentdb.PrivateEndpointConnectionsCreateOrUpdateFuture") 6185 return 6186 } 6187 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 6188 if pec.Response.Response, err = future.GetResult(sender); err == nil && pec.Response.Response.StatusCode != http.StatusNoContent { 6189 pec, err = client.CreateOrUpdateResponder(pec.Response.Response) 6190 if err != nil { 6191 err = autorest.NewErrorWithError(err, "documentdb.PrivateEndpointConnectionsCreateOrUpdateFuture", "Result", pec.Response.Response, "Failure responding to request") 6192 } 6193 } 6194 return 6195} 6196 6197// PrivateEndpointConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a 6198// long-running operation. 6199type PrivateEndpointConnectionsDeleteFuture struct { 6200 azure.FutureAPI 6201 // Result returns the result of the asynchronous operation. 6202 // If the operation has not completed it will return an error. 6203 Result func(PrivateEndpointConnectionsClient) (autorest.Response, error) 6204} 6205 6206// UnmarshalJSON is the custom unmarshaller for CreateFuture. 6207func (future *PrivateEndpointConnectionsDeleteFuture) UnmarshalJSON(body []byte) error { 6208 var azFuture azure.Future 6209 if err := json.Unmarshal(body, &azFuture); err != nil { 6210 return err 6211 } 6212 future.FutureAPI = &azFuture 6213 future.Result = future.result 6214 return nil 6215} 6216 6217// result is the default implementation for PrivateEndpointConnectionsDeleteFuture.Result. 6218func (future *PrivateEndpointConnectionsDeleteFuture) result(client PrivateEndpointConnectionsClient) (ar autorest.Response, err error) { 6219 var done bool 6220 done, err = future.DoneWithContext(context.Background(), client) 6221 if err != nil { 6222 err = autorest.NewErrorWithError(err, "documentdb.PrivateEndpointConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") 6223 return 6224 } 6225 if !done { 6226 ar.Response = future.Response() 6227 err = azure.NewAsyncOpIncompleteError("documentdb.PrivateEndpointConnectionsDeleteFuture") 6228 return 6229 } 6230 ar.Response = future.Response() 6231 return 6232} 6233 6234// PrivateEndpointProperty private endpoint which the connection belongs to. 6235type PrivateEndpointProperty struct { 6236 // ID - Resource id of the private endpoint. 6237 ID *string `json:"id,omitempty"` 6238} 6239 6240// PrivateLinkResource a private link resource 6241type PrivateLinkResource struct { 6242 autorest.Response `json:"-"` 6243 // PrivateLinkResourceProperties - Resource properties. 6244 *PrivateLinkResourceProperties `json:"properties,omitempty"` 6245 // ID - READ-ONLY; The unique resource identifier of the database account. 6246 ID *string `json:"id,omitempty"` 6247 // Name - READ-ONLY; The name of the database account. 6248 Name *string `json:"name,omitempty"` 6249 // Type - READ-ONLY; The type of Azure resource. 6250 Type *string `json:"type,omitempty"` 6251} 6252 6253// MarshalJSON is the custom marshaler for PrivateLinkResource. 6254func (plr PrivateLinkResource) MarshalJSON() ([]byte, error) { 6255 objectMap := make(map[string]interface{}) 6256 if plr.PrivateLinkResourceProperties != nil { 6257 objectMap["properties"] = plr.PrivateLinkResourceProperties 6258 } 6259 return json.Marshal(objectMap) 6260} 6261 6262// UnmarshalJSON is the custom unmarshaler for PrivateLinkResource struct. 6263func (plr *PrivateLinkResource) UnmarshalJSON(body []byte) error { 6264 var m map[string]*json.RawMessage 6265 err := json.Unmarshal(body, &m) 6266 if err != nil { 6267 return err 6268 } 6269 for k, v := range m { 6270 switch k { 6271 case "properties": 6272 if v != nil { 6273 var privateLinkResourceProperties PrivateLinkResourceProperties 6274 err = json.Unmarshal(*v, &privateLinkResourceProperties) 6275 if err != nil { 6276 return err 6277 } 6278 plr.PrivateLinkResourceProperties = &privateLinkResourceProperties 6279 } 6280 case "id": 6281 if v != nil { 6282 var ID string 6283 err = json.Unmarshal(*v, &ID) 6284 if err != nil { 6285 return err 6286 } 6287 plr.ID = &ID 6288 } 6289 case "name": 6290 if v != nil { 6291 var name string 6292 err = json.Unmarshal(*v, &name) 6293 if err != nil { 6294 return err 6295 } 6296 plr.Name = &name 6297 } 6298 case "type": 6299 if v != nil { 6300 var typeVar string 6301 err = json.Unmarshal(*v, &typeVar) 6302 if err != nil { 6303 return err 6304 } 6305 plr.Type = &typeVar 6306 } 6307 } 6308 } 6309 6310 return nil 6311} 6312 6313// PrivateLinkResourceListResult a list of private link resources 6314type PrivateLinkResourceListResult struct { 6315 autorest.Response `json:"-"` 6316 // Value - Array of private link resources 6317 Value *[]PrivateLinkResource `json:"value,omitempty"` 6318} 6319 6320// PrivateLinkResourceProperties properties of a private link resource. 6321type PrivateLinkResourceProperties struct { 6322 // GroupID - READ-ONLY; The private link resource group id. 6323 GroupID *string `json:"groupId,omitempty"` 6324 // RequiredMembers - READ-ONLY; The private link resource required member names. 6325 RequiredMembers *[]string `json:"requiredMembers,omitempty"` 6326 // RequiredZoneNames - READ-ONLY; The private link resource required zone names. 6327 RequiredZoneNames *[]string `json:"requiredZoneNames,omitempty"` 6328} 6329 6330// MarshalJSON is the custom marshaler for PrivateLinkResourceProperties. 6331func (plrp PrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { 6332 objectMap := make(map[string]interface{}) 6333 return json.Marshal(objectMap) 6334} 6335 6336// PrivateLinkServiceConnectionStateProperty connection State of the Private Endpoint Connection. 6337type PrivateLinkServiceConnectionStateProperty struct { 6338 // Status - The private link service connection status. 6339 Status *string `json:"status,omitempty"` 6340 // Description - The private link service connection description. 6341 Description *string `json:"description,omitempty"` 6342 // ActionsRequired - READ-ONLY; Any action that is required beyond basic workflow (approve/ reject/ disconnect) 6343 ActionsRequired *string `json:"actionsRequired,omitempty"` 6344} 6345 6346// MarshalJSON is the custom marshaler for PrivateLinkServiceConnectionStateProperty. 6347func (plscsp PrivateLinkServiceConnectionStateProperty) MarshalJSON() ([]byte, error) { 6348 objectMap := make(map[string]interface{}) 6349 if plscsp.Status != nil { 6350 objectMap["status"] = plscsp.Status 6351 } 6352 if plscsp.Description != nil { 6353 objectMap["description"] = plscsp.Description 6354 } 6355 return json.Marshal(objectMap) 6356} 6357 6358// ProxyResource the resource model definition for a Azure Resource Manager proxy resource. It will not 6359// have tags and a location 6360type ProxyResource struct { 6361 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6362 ID *string `json:"id,omitempty"` 6363 // Name - READ-ONLY; The name of the resource 6364 Name *string `json:"name,omitempty"` 6365 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6366 Type *string `json:"type,omitempty"` 6367} 6368 6369// MarshalJSON is the custom marshaler for ProxyResource. 6370func (pr ProxyResource) MarshalJSON() ([]byte, error) { 6371 objectMap := make(map[string]interface{}) 6372 return json.Marshal(objectMap) 6373} 6374 6375// RegionForOnlineOffline cosmos DB region to online or offline. 6376type RegionForOnlineOffline struct { 6377 // Region - Cosmos DB region, with spaces between words and each word capitalized. 6378 Region *string `json:"region,omitempty"` 6379} 6380 6381// Resource common fields that are returned in the response for all Azure Resource Manager resources 6382type Resource struct { 6383 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 6384 ID *string `json:"id,omitempty"` 6385 // Name - READ-ONLY; The name of the resource 6386 Name *string `json:"name,omitempty"` 6387 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 6388 Type *string `json:"type,omitempty"` 6389} 6390 6391// MarshalJSON is the custom marshaler for Resource. 6392func (r Resource) MarshalJSON() ([]byte, error) { 6393 objectMap := make(map[string]interface{}) 6394 return json.Marshal(objectMap) 6395} 6396 6397// RestorableDatabaseAccountGetResult a Azure Cosmos DB restorable database account. 6398type RestorableDatabaseAccountGetResult struct { 6399 autorest.Response `json:"-"` 6400 // RestorableDatabaseAccountProperties - The properties of a restorable database account. 6401 *RestorableDatabaseAccountProperties `json:"properties,omitempty"` 6402 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 6403 ID *string `json:"id,omitempty"` 6404 // Name - READ-ONLY; The name of the ARM resource. 6405 Name *string `json:"name,omitempty"` 6406 // Type - READ-ONLY; The type of Azure resource. 6407 Type *string `json:"type,omitempty"` 6408 // Location - The location of the resource group to which the resource belongs. 6409 Location *string `json:"location,omitempty"` 6410} 6411 6412// MarshalJSON is the custom marshaler for RestorableDatabaseAccountGetResult. 6413func (rdagr RestorableDatabaseAccountGetResult) MarshalJSON() ([]byte, error) { 6414 objectMap := make(map[string]interface{}) 6415 if rdagr.RestorableDatabaseAccountProperties != nil { 6416 objectMap["properties"] = rdagr.RestorableDatabaseAccountProperties 6417 } 6418 if rdagr.Location != nil { 6419 objectMap["location"] = rdagr.Location 6420 } 6421 return json.Marshal(objectMap) 6422} 6423 6424// UnmarshalJSON is the custom unmarshaler for RestorableDatabaseAccountGetResult struct. 6425func (rdagr *RestorableDatabaseAccountGetResult) UnmarshalJSON(body []byte) error { 6426 var m map[string]*json.RawMessage 6427 err := json.Unmarshal(body, &m) 6428 if err != nil { 6429 return err 6430 } 6431 for k, v := range m { 6432 switch k { 6433 case "properties": 6434 if v != nil { 6435 var restorableDatabaseAccountProperties RestorableDatabaseAccountProperties 6436 err = json.Unmarshal(*v, &restorableDatabaseAccountProperties) 6437 if err != nil { 6438 return err 6439 } 6440 rdagr.RestorableDatabaseAccountProperties = &restorableDatabaseAccountProperties 6441 } 6442 case "id": 6443 if v != nil { 6444 var ID string 6445 err = json.Unmarshal(*v, &ID) 6446 if err != nil { 6447 return err 6448 } 6449 rdagr.ID = &ID 6450 } 6451 case "name": 6452 if v != nil { 6453 var name string 6454 err = json.Unmarshal(*v, &name) 6455 if err != nil { 6456 return err 6457 } 6458 rdagr.Name = &name 6459 } 6460 case "type": 6461 if v != nil { 6462 var typeVar string 6463 err = json.Unmarshal(*v, &typeVar) 6464 if err != nil { 6465 return err 6466 } 6467 rdagr.Type = &typeVar 6468 } 6469 case "location": 6470 if v != nil { 6471 var location string 6472 err = json.Unmarshal(*v, &location) 6473 if err != nil { 6474 return err 6475 } 6476 rdagr.Location = &location 6477 } 6478 } 6479 } 6480 6481 return nil 6482} 6483 6484// RestorableDatabaseAccountProperties the properties of a restorable database account. 6485type RestorableDatabaseAccountProperties struct { 6486 // AccountName - The name of the global database account 6487 AccountName *string `json:"accountName,omitempty"` 6488 // CreationTime - The creation time of the restorable database account (ISO-8601 format). 6489 CreationTime *date.Time `json:"creationTime,omitempty"` 6490 // DeletionTime - The time at which the restorable database account has been deleted (ISO-8601 format). 6491 DeletionTime *date.Time `json:"deletionTime,omitempty"` 6492 // APIType - READ-ONLY; The API type of the restorable database account. Possible values include: 'APITypeMongoDB', 'APITypeGremlin', 'APITypeCassandra', 'APITypeTable', 'APITypeSQL', 'APITypeGremlinV2' 6493 APIType APIType `json:"apiType,omitempty"` 6494 // RestorableLocations - READ-ONLY; List of regions where the of the database account can be restored from. 6495 RestorableLocations *[]RestorableLocationResource `json:"restorableLocations,omitempty"` 6496} 6497 6498// MarshalJSON is the custom marshaler for RestorableDatabaseAccountProperties. 6499func (rdap RestorableDatabaseAccountProperties) MarshalJSON() ([]byte, error) { 6500 objectMap := make(map[string]interface{}) 6501 if rdap.AccountName != nil { 6502 objectMap["accountName"] = rdap.AccountName 6503 } 6504 if rdap.CreationTime != nil { 6505 objectMap["creationTime"] = rdap.CreationTime 6506 } 6507 if rdap.DeletionTime != nil { 6508 objectMap["deletionTime"] = rdap.DeletionTime 6509 } 6510 return json.Marshal(objectMap) 6511} 6512 6513// RestorableDatabaseAccountsListResult the List operation response, that contains the restorable database 6514// accounts and their properties. 6515type RestorableDatabaseAccountsListResult struct { 6516 autorest.Response `json:"-"` 6517 // Value - READ-ONLY; List of restorable database accounts and their properties. 6518 Value *[]RestorableDatabaseAccountGetResult `json:"value,omitempty"` 6519} 6520 6521// MarshalJSON is the custom marshaler for RestorableDatabaseAccountsListResult. 6522func (rdalr RestorableDatabaseAccountsListResult) MarshalJSON() ([]byte, error) { 6523 objectMap := make(map[string]interface{}) 6524 return json.Marshal(objectMap) 6525} 6526 6527// RestorableLocationResource properties of the regional restorable account. 6528type RestorableLocationResource struct { 6529 // LocationName - READ-ONLY; The location of the regional restorable account. 6530 LocationName *string `json:"locationName,omitempty"` 6531 // RegionalDatabaseAccountInstanceID - READ-ONLY; The instance id of the regional restorable account. 6532 RegionalDatabaseAccountInstanceID *string `json:"regionalDatabaseAccountInstanceId,omitempty"` 6533 // CreationTime - READ-ONLY; The creation time of the regional restorable database account (ISO-8601 format). 6534 CreationTime *date.Time `json:"creationTime,omitempty"` 6535 // DeletionTime - READ-ONLY; The time at which the regional restorable database account has been deleted (ISO-8601 format). 6536 DeletionTime *date.Time `json:"deletionTime,omitempty"` 6537} 6538 6539// MarshalJSON is the custom marshaler for RestorableLocationResource. 6540func (rlr RestorableLocationResource) MarshalJSON() ([]byte, error) { 6541 objectMap := make(map[string]interface{}) 6542 return json.Marshal(objectMap) 6543} 6544 6545// RestorableMongodbCollectionGetResult an Azure Cosmos DB MongoDB collection event 6546type RestorableMongodbCollectionGetResult struct { 6547 // RestorableMongodbCollectionProperties - The properties of a MongoDB collection event. 6548 *RestorableMongodbCollectionProperties `json:"properties,omitempty"` 6549 // ID - READ-ONLY; The unique resource Identifier of the ARM resource. 6550 ID *string `json:"id,omitempty"` 6551 // Name - READ-ONLY; The name of the ARM resource. 6552 Name *string `json:"name,omitempty"` 6553 // Type - READ-ONLY; The type of Azure resource. 6554 Type *string `json:"type,omitempty"` 6555} 6556 6557// MarshalJSON is the custom marshaler for RestorableMongodbCollectionGetResult. 6558func (rmcgr RestorableMongodbCollectionGetResult) MarshalJSON() ([]byte, error) { 6559 objectMap := make(map[string]interface{}) 6560 if rmcgr.RestorableMongodbCollectionProperties != nil { 6561 objectMap["properties"] = rmcgr.RestorableMongodbCollectionProperties 6562 } 6563 return json.Marshal(objectMap) 6564} 6565 6566// UnmarshalJSON is the custom unmarshaler for RestorableMongodbCollectionGetResult struct. 6567func (rmcgr *RestorableMongodbCollectionGetResult) UnmarshalJSON(body []byte) error { 6568 var m map[string]*json.RawMessage 6569 err := json.Unmarshal(body, &m) 6570 if err != nil { 6571 return err 6572 } 6573 for k, v := range m { 6574 switch k { 6575 case "properties": 6576 if v != nil { 6577 var restorableMongodbCollectionProperties RestorableMongodbCollectionProperties 6578 err = json.Unmarshal(*v, &restorableMongodbCollectionProperties) 6579 if err != nil { 6580 return err 6581 } 6582 rmcgr.RestorableMongodbCollectionProperties = &restorableMongodbCollectionProperties 6583 } 6584 case "id": 6585 if v != nil { 6586 var ID string 6587 err = json.Unmarshal(*v, &ID) 6588 if err != nil { 6589 return err 6590 } 6591 rmcgr.ID = &ID 6592 } 6593 case "name": 6594 if v != nil { 6595 var name string 6596 err = json.Unmarshal(*v, &name) 6597 if err != nil { 6598 return err 6599 } 6600 rmcgr.Name = &name 6601 } 6602 case "type": 6603 if v != nil { 6604 var typeVar string 6605 err = json.Unmarshal(*v, &typeVar) 6606 if err != nil { 6607 return err 6608 } 6609 rmcgr.Type = &typeVar 6610 } 6611 } 6612 } 6613 6614 return nil 6615} 6616 6617// RestorableMongodbCollectionProperties the properties of an Azure Cosmos DB MongoDB collection event 6618type RestorableMongodbCollectionProperties struct { 6619 // Resource - The resource of an Azure Cosmos DB MongoDB collection event 6620 Resource *RestorableMongodbCollectionPropertiesResource `json:"resource,omitempty"` 6621} 6622 6623// RestorableMongodbCollectionPropertiesResource the resource of an Azure Cosmos DB MongoDB collection 6624// event 6625type RestorableMongodbCollectionPropertiesResource struct { 6626 // Rid - READ-ONLY; A system generated property. A unique identifier. 6627 Rid *string `json:"_rid,omitempty"` 6628 // OperationType - READ-ONLY; The operation type of this collection event. Possible values include: 'OperationTypeCreate', 'OperationTypeReplace', 'OperationTypeDelete', 'OperationTypeSystemOperation' 6629 OperationType OperationType `json:"operationType,omitempty"` 6630 // EventTimestamp - READ-ONLY; The time when this collection event happened. 6631 EventTimestamp *string `json:"eventTimestamp,omitempty"` 6632 // OwnerID - READ-ONLY; The name of this MongoDB collection. 6633 OwnerID *string `json:"ownerId,omitempty"` 6634 // OwnerResourceID - READ-ONLY; The resource ID of this MongoDB collection. 6635 OwnerResourceID *string `json:"ownerResourceId,omitempty"` 6636} 6637 6638// MarshalJSON is the custom marshaler for RestorableMongodbCollectionPropertiesResource. 6639func (rmcp RestorableMongodbCollectionPropertiesResource) MarshalJSON() ([]byte, error) { 6640 objectMap := make(map[string]interface{}) 6641 return json.Marshal(objectMap) 6642} 6643 6644// RestorableMongodbCollectionsListResult the List operation response, that contains the MongoDB collection 6645// events and their properties. 6646type RestorableMongodbCollectionsListResult struct { 6647 autorest.Response `json:"-"` 6648 // Value - READ-ONLY; List of MongoDB collection events and their properties. 6649 Value *[]RestorableMongodbCollectionGetResult `json:"value,omitempty"` 6650} 6651 6652// MarshalJSON is the custom marshaler for RestorableMongodbCollectionsListResult. 6653func (rmclr RestorableMongodbCollectionsListResult) MarshalJSON() ([]byte, error) { 6654 objectMap := make(map[string]interface{}) 6655 return json.Marshal(objectMap) 6656} 6657 6658// RestorableMongodbDatabaseGetResult an Azure Cosmos DB MongoDB database event 6659type RestorableMongodbDatabaseGetResult struct { 6660 // RestorableMongodbDatabaseProperties - The properties of a MongoDB database event. 6661 *RestorableMongodbDatabaseProperties `json:"properties,omitempty"` 6662 // ID - READ-ONLY; The unique resource Identifier of the ARM resource. 6663 ID *string `json:"id,omitempty"` 6664 // Name - READ-ONLY; The name of the ARM resource. 6665 Name *string `json:"name,omitempty"` 6666 // Type - READ-ONLY; The type of Azure resource. 6667 Type *string `json:"type,omitempty"` 6668} 6669 6670// MarshalJSON is the custom marshaler for RestorableMongodbDatabaseGetResult. 6671func (rmdgr RestorableMongodbDatabaseGetResult) MarshalJSON() ([]byte, error) { 6672 objectMap := make(map[string]interface{}) 6673 if rmdgr.RestorableMongodbDatabaseProperties != nil { 6674 objectMap["properties"] = rmdgr.RestorableMongodbDatabaseProperties 6675 } 6676 return json.Marshal(objectMap) 6677} 6678 6679// UnmarshalJSON is the custom unmarshaler for RestorableMongodbDatabaseGetResult struct. 6680func (rmdgr *RestorableMongodbDatabaseGetResult) UnmarshalJSON(body []byte) error { 6681 var m map[string]*json.RawMessage 6682 err := json.Unmarshal(body, &m) 6683 if err != nil { 6684 return err 6685 } 6686 for k, v := range m { 6687 switch k { 6688 case "properties": 6689 if v != nil { 6690 var restorableMongodbDatabaseProperties RestorableMongodbDatabaseProperties 6691 err = json.Unmarshal(*v, &restorableMongodbDatabaseProperties) 6692 if err != nil { 6693 return err 6694 } 6695 rmdgr.RestorableMongodbDatabaseProperties = &restorableMongodbDatabaseProperties 6696 } 6697 case "id": 6698 if v != nil { 6699 var ID string 6700 err = json.Unmarshal(*v, &ID) 6701 if err != nil { 6702 return err 6703 } 6704 rmdgr.ID = &ID 6705 } 6706 case "name": 6707 if v != nil { 6708 var name string 6709 err = json.Unmarshal(*v, &name) 6710 if err != nil { 6711 return err 6712 } 6713 rmdgr.Name = &name 6714 } 6715 case "type": 6716 if v != nil { 6717 var typeVar string 6718 err = json.Unmarshal(*v, &typeVar) 6719 if err != nil { 6720 return err 6721 } 6722 rmdgr.Type = &typeVar 6723 } 6724 } 6725 } 6726 6727 return nil 6728} 6729 6730// RestorableMongodbDatabaseProperties the properties of an Azure Cosmos DB MongoDB database event 6731type RestorableMongodbDatabaseProperties struct { 6732 // Resource - The resource of an Azure Cosmos DB MongoDB database event 6733 Resource *RestorableMongodbDatabasePropertiesResource `json:"resource,omitempty"` 6734} 6735 6736// RestorableMongodbDatabasePropertiesResource the resource of an Azure Cosmos DB MongoDB database event 6737type RestorableMongodbDatabasePropertiesResource struct { 6738 // Rid - READ-ONLY; A system generated property. A unique identifier. 6739 Rid *string `json:"_rid,omitempty"` 6740 // OperationType - READ-ONLY; The operation type of this database event. Possible values include: 'OperationTypeCreate', 'OperationTypeReplace', 'OperationTypeDelete', 'OperationTypeSystemOperation' 6741 OperationType OperationType `json:"operationType,omitempty"` 6742 // EventTimestamp - READ-ONLY; The time when this database event happened. 6743 EventTimestamp *string `json:"eventTimestamp,omitempty"` 6744 // OwnerID - READ-ONLY; The name of this MongoDB database. 6745 OwnerID *string `json:"ownerId,omitempty"` 6746 // OwnerResourceID - READ-ONLY; The resource ID of this MongoDB database. 6747 OwnerResourceID *string `json:"ownerResourceId,omitempty"` 6748} 6749 6750// MarshalJSON is the custom marshaler for RestorableMongodbDatabasePropertiesResource. 6751func (rmdp RestorableMongodbDatabasePropertiesResource) MarshalJSON() ([]byte, error) { 6752 objectMap := make(map[string]interface{}) 6753 return json.Marshal(objectMap) 6754} 6755 6756// RestorableMongodbDatabasesListResult the List operation response, that contains the MongoDB database 6757// events and their properties. 6758type RestorableMongodbDatabasesListResult struct { 6759 autorest.Response `json:"-"` 6760 // Value - READ-ONLY; List of MongoDB database events and their properties. 6761 Value *[]RestorableMongodbDatabaseGetResult `json:"value,omitempty"` 6762} 6763 6764// MarshalJSON is the custom marshaler for RestorableMongodbDatabasesListResult. 6765func (rmdlr RestorableMongodbDatabasesListResult) MarshalJSON() ([]byte, error) { 6766 objectMap := make(map[string]interface{}) 6767 return json.Marshal(objectMap) 6768} 6769 6770// RestorableMongodbResourcesListResult the List operation response, that contains the restorable MongoDB 6771// resources. 6772type RestorableMongodbResourcesListResult struct { 6773 autorest.Response `json:"-"` 6774 // Value - READ-ONLY; List of restorable MongoDB resources, including the database and collection names. 6775 Value *[]DatabaseRestoreResource `json:"value,omitempty"` 6776} 6777 6778// MarshalJSON is the custom marshaler for RestorableMongodbResourcesListResult. 6779func (rmrlr RestorableMongodbResourcesListResult) MarshalJSON() ([]byte, error) { 6780 objectMap := make(map[string]interface{}) 6781 return json.Marshal(objectMap) 6782} 6783 6784// RestorableSQLContainerGetResult an Azure Cosmos DB SQL container event 6785type RestorableSQLContainerGetResult struct { 6786 // RestorableSQLContainerProperties - The properties of a SQL container event. 6787 *RestorableSQLContainerProperties `json:"properties,omitempty"` 6788 // ID - READ-ONLY; The unique resource Identifier of the ARM resource. 6789 ID *string `json:"id,omitempty"` 6790 // Name - READ-ONLY; The name of the ARM resource. 6791 Name *string `json:"name,omitempty"` 6792 // Type - READ-ONLY; The type of Azure resource. 6793 Type *string `json:"type,omitempty"` 6794} 6795 6796// MarshalJSON is the custom marshaler for RestorableSQLContainerGetResult. 6797func (rscgr RestorableSQLContainerGetResult) MarshalJSON() ([]byte, error) { 6798 objectMap := make(map[string]interface{}) 6799 if rscgr.RestorableSQLContainerProperties != nil { 6800 objectMap["properties"] = rscgr.RestorableSQLContainerProperties 6801 } 6802 return json.Marshal(objectMap) 6803} 6804 6805// UnmarshalJSON is the custom unmarshaler for RestorableSQLContainerGetResult struct. 6806func (rscgr *RestorableSQLContainerGetResult) UnmarshalJSON(body []byte) error { 6807 var m map[string]*json.RawMessage 6808 err := json.Unmarshal(body, &m) 6809 if err != nil { 6810 return err 6811 } 6812 for k, v := range m { 6813 switch k { 6814 case "properties": 6815 if v != nil { 6816 var restorableSQLContainerProperties RestorableSQLContainerProperties 6817 err = json.Unmarshal(*v, &restorableSQLContainerProperties) 6818 if err != nil { 6819 return err 6820 } 6821 rscgr.RestorableSQLContainerProperties = &restorableSQLContainerProperties 6822 } 6823 case "id": 6824 if v != nil { 6825 var ID string 6826 err = json.Unmarshal(*v, &ID) 6827 if err != nil { 6828 return err 6829 } 6830 rscgr.ID = &ID 6831 } 6832 case "name": 6833 if v != nil { 6834 var name string 6835 err = json.Unmarshal(*v, &name) 6836 if err != nil { 6837 return err 6838 } 6839 rscgr.Name = &name 6840 } 6841 case "type": 6842 if v != nil { 6843 var typeVar string 6844 err = json.Unmarshal(*v, &typeVar) 6845 if err != nil { 6846 return err 6847 } 6848 rscgr.Type = &typeVar 6849 } 6850 } 6851 } 6852 6853 return nil 6854} 6855 6856// RestorableSQLContainerProperties the properties of an Azure Cosmos DB SQL container event 6857type RestorableSQLContainerProperties struct { 6858 // Resource - The resource of an Azure Cosmos DB SQL container event 6859 Resource *RestorableSQLContainerPropertiesResource `json:"resource,omitempty"` 6860} 6861 6862// RestorableSQLContainerPropertiesResource the resource of an Azure Cosmos DB SQL container event 6863type RestorableSQLContainerPropertiesResource struct { 6864 // Rid - READ-ONLY; A system generated property. A unique identifier. 6865 Rid *string `json:"_rid,omitempty"` 6866 // OperationType - READ-ONLY; The operation type of this container event. Possible values include: 'OperationTypeCreate', 'OperationTypeReplace', 'OperationTypeDelete', 'OperationTypeSystemOperation' 6867 OperationType OperationType `json:"operationType,omitempty"` 6868 // EventTimestamp - READ-ONLY; The when this container event happened. 6869 EventTimestamp *string `json:"eventTimestamp,omitempty"` 6870 // OwnerID - READ-ONLY; The name of this SQL container. 6871 OwnerID *string `json:"ownerId,omitempty"` 6872 // OwnerResourceID - READ-ONLY; The resource ID of this SQL container. 6873 OwnerResourceID *string `json:"ownerResourceId,omitempty"` 6874 // Container - Cosmos DB SQL container resource object 6875 Container *RestorableSQLContainerPropertiesResourceContainer `json:"container,omitempty"` 6876} 6877 6878// MarshalJSON is the custom marshaler for RestorableSQLContainerPropertiesResource. 6879func (rscp RestorableSQLContainerPropertiesResource) MarshalJSON() ([]byte, error) { 6880 objectMap := make(map[string]interface{}) 6881 if rscp.Container != nil { 6882 objectMap["container"] = rscp.Container 6883 } 6884 return json.Marshal(objectMap) 6885} 6886 6887// RestorableSQLContainerPropertiesResourceContainer cosmos DB SQL container resource object 6888type RestorableSQLContainerPropertiesResourceContainer struct { 6889 // ID - Name of the Cosmos DB SQL container 6890 ID *string `json:"id,omitempty"` 6891 // IndexingPolicy - The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container 6892 IndexingPolicy *IndexingPolicy `json:"indexingPolicy,omitempty"` 6893 // PartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions 6894 PartitionKey *ContainerPartitionKey `json:"partitionKey,omitempty"` 6895 // DefaultTTL - Default time to live 6896 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 6897 // UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. 6898 UniqueKeyPolicy *UniqueKeyPolicy `json:"uniqueKeyPolicy,omitempty"` 6899 // ConflictResolutionPolicy - The conflict resolution policy for the container. 6900 ConflictResolutionPolicy *ConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` 6901 // AnalyticalStorageTTL - Analytical TTL. 6902 AnalyticalStorageTTL *int64 `json:"analyticalStorageTtl,omitempty"` 6903 // Rid - READ-ONLY; A system generated property. A unique identifier. 6904 Rid *string `json:"_rid,omitempty"` 6905 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 6906 Ts *float64 `json:"_ts,omitempty"` 6907 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 6908 Etag *string `json:"_etag,omitempty"` 6909 // Self - READ-ONLY; A system generated property that specifies the addressable path of the container resource. 6910 Self *string `json:"_self,omitempty"` 6911} 6912 6913// MarshalJSON is the custom marshaler for RestorableSQLContainerPropertiesResourceContainer. 6914func (rscp RestorableSQLContainerPropertiesResourceContainer) MarshalJSON() ([]byte, error) { 6915 objectMap := make(map[string]interface{}) 6916 if rscp.ID != nil { 6917 objectMap["id"] = rscp.ID 6918 } 6919 if rscp.IndexingPolicy != nil { 6920 objectMap["indexingPolicy"] = rscp.IndexingPolicy 6921 } 6922 if rscp.PartitionKey != nil { 6923 objectMap["partitionKey"] = rscp.PartitionKey 6924 } 6925 if rscp.DefaultTTL != nil { 6926 objectMap["defaultTtl"] = rscp.DefaultTTL 6927 } 6928 if rscp.UniqueKeyPolicy != nil { 6929 objectMap["uniqueKeyPolicy"] = rscp.UniqueKeyPolicy 6930 } 6931 if rscp.ConflictResolutionPolicy != nil { 6932 objectMap["conflictResolutionPolicy"] = rscp.ConflictResolutionPolicy 6933 } 6934 if rscp.AnalyticalStorageTTL != nil { 6935 objectMap["analyticalStorageTtl"] = rscp.AnalyticalStorageTTL 6936 } 6937 return json.Marshal(objectMap) 6938} 6939 6940// RestorableSQLContainersListResult the List operation response, that contains the SQL container events 6941// and their properties. 6942type RestorableSQLContainersListResult struct { 6943 autorest.Response `json:"-"` 6944 // Value - READ-ONLY; List of SQL container events and their properties. 6945 Value *[]RestorableSQLContainerGetResult `json:"value,omitempty"` 6946} 6947 6948// MarshalJSON is the custom marshaler for RestorableSQLContainersListResult. 6949func (rsclr RestorableSQLContainersListResult) MarshalJSON() ([]byte, error) { 6950 objectMap := make(map[string]interface{}) 6951 return json.Marshal(objectMap) 6952} 6953 6954// RestorableSQLDatabaseGetResult an Azure Cosmos DB SQL database event 6955type RestorableSQLDatabaseGetResult struct { 6956 // RestorableSQLDatabaseProperties - The properties of a SQL database event. 6957 *RestorableSQLDatabaseProperties `json:"properties,omitempty"` 6958 // ID - READ-ONLY; The unique resource Identifier of the ARM resource. 6959 ID *string `json:"id,omitempty"` 6960 // Name - READ-ONLY; The name of the ARM resource. 6961 Name *string `json:"name,omitempty"` 6962 // Type - READ-ONLY; The type of Azure resource. 6963 Type *string `json:"type,omitempty"` 6964} 6965 6966// MarshalJSON is the custom marshaler for RestorableSQLDatabaseGetResult. 6967func (rsdgr RestorableSQLDatabaseGetResult) MarshalJSON() ([]byte, error) { 6968 objectMap := make(map[string]interface{}) 6969 if rsdgr.RestorableSQLDatabaseProperties != nil { 6970 objectMap["properties"] = rsdgr.RestorableSQLDatabaseProperties 6971 } 6972 return json.Marshal(objectMap) 6973} 6974 6975// UnmarshalJSON is the custom unmarshaler for RestorableSQLDatabaseGetResult struct. 6976func (rsdgr *RestorableSQLDatabaseGetResult) UnmarshalJSON(body []byte) error { 6977 var m map[string]*json.RawMessage 6978 err := json.Unmarshal(body, &m) 6979 if err != nil { 6980 return err 6981 } 6982 for k, v := range m { 6983 switch k { 6984 case "properties": 6985 if v != nil { 6986 var restorableSQLDatabaseProperties RestorableSQLDatabaseProperties 6987 err = json.Unmarshal(*v, &restorableSQLDatabaseProperties) 6988 if err != nil { 6989 return err 6990 } 6991 rsdgr.RestorableSQLDatabaseProperties = &restorableSQLDatabaseProperties 6992 } 6993 case "id": 6994 if v != nil { 6995 var ID string 6996 err = json.Unmarshal(*v, &ID) 6997 if err != nil { 6998 return err 6999 } 7000 rsdgr.ID = &ID 7001 } 7002 case "name": 7003 if v != nil { 7004 var name string 7005 err = json.Unmarshal(*v, &name) 7006 if err != nil { 7007 return err 7008 } 7009 rsdgr.Name = &name 7010 } 7011 case "type": 7012 if v != nil { 7013 var typeVar string 7014 err = json.Unmarshal(*v, &typeVar) 7015 if err != nil { 7016 return err 7017 } 7018 rsdgr.Type = &typeVar 7019 } 7020 } 7021 } 7022 7023 return nil 7024} 7025 7026// RestorableSQLDatabaseProperties the properties of an Azure Cosmos DB SQL database event 7027type RestorableSQLDatabaseProperties struct { 7028 // Resource - The resource of an Azure Cosmos DB SQL database event 7029 Resource *RestorableSQLDatabasePropertiesResource `json:"resource,omitempty"` 7030} 7031 7032// RestorableSQLDatabasePropertiesResource the resource of an Azure Cosmos DB SQL database event 7033type RestorableSQLDatabasePropertiesResource struct { 7034 // Rid - READ-ONLY; A system generated property. A unique identifier. 7035 Rid *string `json:"_rid,omitempty"` 7036 // OperationType - READ-ONLY; The operation type of this database event. Possible values include: 'OperationTypeCreate', 'OperationTypeReplace', 'OperationTypeDelete', 'OperationTypeSystemOperation' 7037 OperationType OperationType `json:"operationType,omitempty"` 7038 // EventTimestamp - READ-ONLY; The time when this database event happened. 7039 EventTimestamp *string `json:"eventTimestamp,omitempty"` 7040 // OwnerID - READ-ONLY; The name of the SQL database. 7041 OwnerID *string `json:"ownerId,omitempty"` 7042 // OwnerResourceID - READ-ONLY; The resource ID of the SQL database. 7043 OwnerResourceID *string `json:"ownerResourceId,omitempty"` 7044 // Database - Cosmos DB SQL database resource object 7045 Database *RestorableSQLDatabasePropertiesResourceDatabase `json:"database,omitempty"` 7046} 7047 7048// MarshalJSON is the custom marshaler for RestorableSQLDatabasePropertiesResource. 7049func (rsdp RestorableSQLDatabasePropertiesResource) MarshalJSON() ([]byte, error) { 7050 objectMap := make(map[string]interface{}) 7051 if rsdp.Database != nil { 7052 objectMap["database"] = rsdp.Database 7053 } 7054 return json.Marshal(objectMap) 7055} 7056 7057// RestorableSQLDatabasePropertiesResourceDatabase cosmos DB SQL database resource object 7058type RestorableSQLDatabasePropertiesResourceDatabase struct { 7059 // ID - Name of the Cosmos DB SQL database 7060 ID *string `json:"id,omitempty"` 7061 // Rid - READ-ONLY; A system generated property. A unique identifier. 7062 Rid *string `json:"_rid,omitempty"` 7063 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 7064 Ts *float64 `json:"_ts,omitempty"` 7065 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 7066 Etag *string `json:"_etag,omitempty"` 7067 // Colls - READ-ONLY; A system generated property that specified the addressable path of the collections resource. 7068 Colls *string `json:"_colls,omitempty"` 7069 // Users - READ-ONLY; A system generated property that specifies the addressable path of the users resource. 7070 Users *string `json:"_users,omitempty"` 7071 // Self - READ-ONLY; A system generated property that specifies the addressable path of the database resource. 7072 Self *string `json:"_self,omitempty"` 7073} 7074 7075// MarshalJSON is the custom marshaler for RestorableSQLDatabasePropertiesResourceDatabase. 7076func (rsdp RestorableSQLDatabasePropertiesResourceDatabase) MarshalJSON() ([]byte, error) { 7077 objectMap := make(map[string]interface{}) 7078 if rsdp.ID != nil { 7079 objectMap["id"] = rsdp.ID 7080 } 7081 return json.Marshal(objectMap) 7082} 7083 7084// RestorableSQLDatabasesListResult the List operation response, that contains the SQL database events and 7085// their properties. 7086type RestorableSQLDatabasesListResult struct { 7087 autorest.Response `json:"-"` 7088 // Value - READ-ONLY; List of SQL database events and their properties. 7089 Value *[]RestorableSQLDatabaseGetResult `json:"value,omitempty"` 7090} 7091 7092// MarshalJSON is the custom marshaler for RestorableSQLDatabasesListResult. 7093func (rsdlr RestorableSQLDatabasesListResult) MarshalJSON() ([]byte, error) { 7094 objectMap := make(map[string]interface{}) 7095 return json.Marshal(objectMap) 7096} 7097 7098// RestorableSQLResourcesListResult the List operation response, that contains the restorable SQL 7099// resources. 7100type RestorableSQLResourcesListResult struct { 7101 autorest.Response `json:"-"` 7102 // Value - READ-ONLY; List of restorable SQL resources, including the database and collection names. 7103 Value *[]DatabaseRestoreResource `json:"value,omitempty"` 7104} 7105 7106// MarshalJSON is the custom marshaler for RestorableSQLResourcesListResult. 7107func (rsrlr RestorableSQLResourcesListResult) MarshalJSON() ([]byte, error) { 7108 objectMap := make(map[string]interface{}) 7109 return json.Marshal(objectMap) 7110} 7111 7112// RestoreParameters parameters to indicate the information about the restore. 7113type RestoreParameters struct { 7114 // RestoreMode - Describes the mode of the restore. Possible values include: 'RestoreModePointInTime' 7115 RestoreMode RestoreMode `json:"restoreMode,omitempty"` 7116 // RestoreSource - The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} 7117 RestoreSource *string `json:"restoreSource,omitempty"` 7118 // RestoreTimestampInUtc - Time to which the account has to be restored (ISO-8601 format). 7119 RestoreTimestampInUtc *date.Time `json:"restoreTimestampInUtc,omitempty"` 7120 // DatabasesToRestore - List of specific databases available for restore. 7121 DatabasesToRestore *[]DatabaseRestoreResource `json:"databasesToRestore,omitempty"` 7122} 7123 7124// SpatialSpec ... 7125type SpatialSpec struct { 7126 // Path - The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) 7127 Path *string `json:"path,omitempty"` 7128 // Types - List of path's spatial type 7129 Types *[]SpatialType `json:"types,omitempty"` 7130} 7131 7132// SQLContainerCreateUpdateParameters parameters to create and update Cosmos DB container. 7133type SQLContainerCreateUpdateParameters struct { 7134 // SQLContainerCreateUpdateProperties - Properties to create and update Azure Cosmos DB container. 7135 *SQLContainerCreateUpdateProperties `json:"properties,omitempty"` 7136 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 7137 ID *string `json:"id,omitempty"` 7138 // Name - READ-ONLY; The name of the ARM resource. 7139 Name *string `json:"name,omitempty"` 7140 // Type - READ-ONLY; The type of Azure resource. 7141 Type *string `json:"type,omitempty"` 7142 // Location - The location of the resource group to which the resource belongs. 7143 Location *string `json:"location,omitempty"` 7144 Tags map[string]*string `json:"tags"` 7145} 7146 7147// MarshalJSON is the custom marshaler for SQLContainerCreateUpdateParameters. 7148func (sccup SQLContainerCreateUpdateParameters) MarshalJSON() ([]byte, error) { 7149 objectMap := make(map[string]interface{}) 7150 if sccup.SQLContainerCreateUpdateProperties != nil { 7151 objectMap["properties"] = sccup.SQLContainerCreateUpdateProperties 7152 } 7153 if sccup.Location != nil { 7154 objectMap["location"] = sccup.Location 7155 } 7156 if sccup.Tags != nil { 7157 objectMap["tags"] = sccup.Tags 7158 } 7159 return json.Marshal(objectMap) 7160} 7161 7162// UnmarshalJSON is the custom unmarshaler for SQLContainerCreateUpdateParameters struct. 7163func (sccup *SQLContainerCreateUpdateParameters) UnmarshalJSON(body []byte) error { 7164 var m map[string]*json.RawMessage 7165 err := json.Unmarshal(body, &m) 7166 if err != nil { 7167 return err 7168 } 7169 for k, v := range m { 7170 switch k { 7171 case "properties": 7172 if v != nil { 7173 var SQLContainerCreateUpdateProperties SQLContainerCreateUpdateProperties 7174 err = json.Unmarshal(*v, &SQLContainerCreateUpdateProperties) 7175 if err != nil { 7176 return err 7177 } 7178 sccup.SQLContainerCreateUpdateProperties = &SQLContainerCreateUpdateProperties 7179 } 7180 case "id": 7181 if v != nil { 7182 var ID string 7183 err = json.Unmarshal(*v, &ID) 7184 if err != nil { 7185 return err 7186 } 7187 sccup.ID = &ID 7188 } 7189 case "name": 7190 if v != nil { 7191 var name string 7192 err = json.Unmarshal(*v, &name) 7193 if err != nil { 7194 return err 7195 } 7196 sccup.Name = &name 7197 } 7198 case "type": 7199 if v != nil { 7200 var typeVar string 7201 err = json.Unmarshal(*v, &typeVar) 7202 if err != nil { 7203 return err 7204 } 7205 sccup.Type = &typeVar 7206 } 7207 case "location": 7208 if v != nil { 7209 var location string 7210 err = json.Unmarshal(*v, &location) 7211 if err != nil { 7212 return err 7213 } 7214 sccup.Location = &location 7215 } 7216 case "tags": 7217 if v != nil { 7218 var tags map[string]*string 7219 err = json.Unmarshal(*v, &tags) 7220 if err != nil { 7221 return err 7222 } 7223 sccup.Tags = tags 7224 } 7225 } 7226 } 7227 7228 return nil 7229} 7230 7231// SQLContainerCreateUpdateProperties properties to create and update Azure Cosmos DB container. 7232type SQLContainerCreateUpdateProperties struct { 7233 // Resource - The standard JSON format of a container 7234 Resource *SQLContainerResource `json:"resource,omitempty"` 7235 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 7236 Options *CreateUpdateOptions `json:"options,omitempty"` 7237} 7238 7239// SQLContainerGetProperties the properties of an Azure Cosmos DB container 7240type SQLContainerGetProperties struct { 7241 Resource *SQLContainerGetPropertiesResource `json:"resource,omitempty"` 7242 Options *SQLContainerGetPropertiesOptions `json:"options,omitempty"` 7243} 7244 7245// SQLContainerGetPropertiesOptions ... 7246type SQLContainerGetPropertiesOptions struct { 7247 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 7248 Throughput *int32 `json:"throughput,omitempty"` 7249 // AutoscaleSettings - Specifies the Autoscale settings. 7250 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 7251} 7252 7253// SQLContainerGetPropertiesResource ... 7254type SQLContainerGetPropertiesResource struct { 7255 // ID - Name of the Cosmos DB SQL container 7256 ID *string `json:"id,omitempty"` 7257 // IndexingPolicy - The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container 7258 IndexingPolicy *IndexingPolicy `json:"indexingPolicy,omitempty"` 7259 // PartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions 7260 PartitionKey *ContainerPartitionKey `json:"partitionKey,omitempty"` 7261 // DefaultTTL - Default time to live 7262 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 7263 // UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. 7264 UniqueKeyPolicy *UniqueKeyPolicy `json:"uniqueKeyPolicy,omitempty"` 7265 // ConflictResolutionPolicy - The conflict resolution policy for the container. 7266 ConflictResolutionPolicy *ConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` 7267 // AnalyticalStorageTTL - Analytical TTL. 7268 AnalyticalStorageTTL *int64 `json:"analyticalStorageTtl,omitempty"` 7269 // Rid - READ-ONLY; A system generated property. A unique identifier. 7270 Rid *string `json:"_rid,omitempty"` 7271 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 7272 Ts *float64 `json:"_ts,omitempty"` 7273 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 7274 Etag *string `json:"_etag,omitempty"` 7275} 7276 7277// MarshalJSON is the custom marshaler for SQLContainerGetPropertiesResource. 7278func (scgp SQLContainerGetPropertiesResource) MarshalJSON() ([]byte, error) { 7279 objectMap := make(map[string]interface{}) 7280 if scgp.ID != nil { 7281 objectMap["id"] = scgp.ID 7282 } 7283 if scgp.IndexingPolicy != nil { 7284 objectMap["indexingPolicy"] = scgp.IndexingPolicy 7285 } 7286 if scgp.PartitionKey != nil { 7287 objectMap["partitionKey"] = scgp.PartitionKey 7288 } 7289 if scgp.DefaultTTL != nil { 7290 objectMap["defaultTtl"] = scgp.DefaultTTL 7291 } 7292 if scgp.UniqueKeyPolicy != nil { 7293 objectMap["uniqueKeyPolicy"] = scgp.UniqueKeyPolicy 7294 } 7295 if scgp.ConflictResolutionPolicy != nil { 7296 objectMap["conflictResolutionPolicy"] = scgp.ConflictResolutionPolicy 7297 } 7298 if scgp.AnalyticalStorageTTL != nil { 7299 objectMap["analyticalStorageTtl"] = scgp.AnalyticalStorageTTL 7300 } 7301 return json.Marshal(objectMap) 7302} 7303 7304// SQLContainerGetResults an Azure Cosmos DB container. 7305type SQLContainerGetResults struct { 7306 autorest.Response `json:"-"` 7307 // SQLContainerGetProperties - The properties of an Azure Cosmos DB container 7308 *SQLContainerGetProperties `json:"properties,omitempty"` 7309 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 7310 ID *string `json:"id,omitempty"` 7311 // Name - READ-ONLY; The name of the ARM resource. 7312 Name *string `json:"name,omitempty"` 7313 // Type - READ-ONLY; The type of Azure resource. 7314 Type *string `json:"type,omitempty"` 7315 // Location - The location of the resource group to which the resource belongs. 7316 Location *string `json:"location,omitempty"` 7317 Tags map[string]*string `json:"tags"` 7318} 7319 7320// MarshalJSON is the custom marshaler for SQLContainerGetResults. 7321func (scgr SQLContainerGetResults) MarshalJSON() ([]byte, error) { 7322 objectMap := make(map[string]interface{}) 7323 if scgr.SQLContainerGetProperties != nil { 7324 objectMap["properties"] = scgr.SQLContainerGetProperties 7325 } 7326 if scgr.Location != nil { 7327 objectMap["location"] = scgr.Location 7328 } 7329 if scgr.Tags != nil { 7330 objectMap["tags"] = scgr.Tags 7331 } 7332 return json.Marshal(objectMap) 7333} 7334 7335// UnmarshalJSON is the custom unmarshaler for SQLContainerGetResults struct. 7336func (scgr *SQLContainerGetResults) UnmarshalJSON(body []byte) error { 7337 var m map[string]*json.RawMessage 7338 err := json.Unmarshal(body, &m) 7339 if err != nil { 7340 return err 7341 } 7342 for k, v := range m { 7343 switch k { 7344 case "properties": 7345 if v != nil { 7346 var SQLContainerGetProperties SQLContainerGetProperties 7347 err = json.Unmarshal(*v, &SQLContainerGetProperties) 7348 if err != nil { 7349 return err 7350 } 7351 scgr.SQLContainerGetProperties = &SQLContainerGetProperties 7352 } 7353 case "id": 7354 if v != nil { 7355 var ID string 7356 err = json.Unmarshal(*v, &ID) 7357 if err != nil { 7358 return err 7359 } 7360 scgr.ID = &ID 7361 } 7362 case "name": 7363 if v != nil { 7364 var name string 7365 err = json.Unmarshal(*v, &name) 7366 if err != nil { 7367 return err 7368 } 7369 scgr.Name = &name 7370 } 7371 case "type": 7372 if v != nil { 7373 var typeVar string 7374 err = json.Unmarshal(*v, &typeVar) 7375 if err != nil { 7376 return err 7377 } 7378 scgr.Type = &typeVar 7379 } 7380 case "location": 7381 if v != nil { 7382 var location string 7383 err = json.Unmarshal(*v, &location) 7384 if err != nil { 7385 return err 7386 } 7387 scgr.Location = &location 7388 } 7389 case "tags": 7390 if v != nil { 7391 var tags map[string]*string 7392 err = json.Unmarshal(*v, &tags) 7393 if err != nil { 7394 return err 7395 } 7396 scgr.Tags = tags 7397 } 7398 } 7399 } 7400 7401 return nil 7402} 7403 7404// SQLContainerListResult the List operation response, that contains the containers and their properties. 7405type SQLContainerListResult struct { 7406 autorest.Response `json:"-"` 7407 // Value - READ-ONLY; List of containers and their properties. 7408 Value *[]SQLContainerGetResults `json:"value,omitempty"` 7409} 7410 7411// MarshalJSON is the custom marshaler for SQLContainerListResult. 7412func (sclr SQLContainerListResult) MarshalJSON() ([]byte, error) { 7413 objectMap := make(map[string]interface{}) 7414 return json.Marshal(objectMap) 7415} 7416 7417// SQLContainerResource cosmos DB SQL container resource object 7418type SQLContainerResource struct { 7419 // ID - Name of the Cosmos DB SQL container 7420 ID *string `json:"id,omitempty"` 7421 // IndexingPolicy - The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container 7422 IndexingPolicy *IndexingPolicy `json:"indexingPolicy,omitempty"` 7423 // PartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions 7424 PartitionKey *ContainerPartitionKey `json:"partitionKey,omitempty"` 7425 // DefaultTTL - Default time to live 7426 DefaultTTL *int32 `json:"defaultTtl,omitempty"` 7427 // UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. 7428 UniqueKeyPolicy *UniqueKeyPolicy `json:"uniqueKeyPolicy,omitempty"` 7429 // ConflictResolutionPolicy - The conflict resolution policy for the container. 7430 ConflictResolutionPolicy *ConflictResolutionPolicy `json:"conflictResolutionPolicy,omitempty"` 7431 // AnalyticalStorageTTL - Analytical TTL. 7432 AnalyticalStorageTTL *int64 `json:"analyticalStorageTtl,omitempty"` 7433} 7434 7435// SQLDatabaseCreateUpdateParameters parameters to create and update Cosmos DB SQL database. 7436type SQLDatabaseCreateUpdateParameters struct { 7437 // SQLDatabaseCreateUpdateProperties - Properties to create and update Azure Cosmos DB SQL database. 7438 *SQLDatabaseCreateUpdateProperties `json:"properties,omitempty"` 7439 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 7440 ID *string `json:"id,omitempty"` 7441 // Name - READ-ONLY; The name of the ARM resource. 7442 Name *string `json:"name,omitempty"` 7443 // Type - READ-ONLY; The type of Azure resource. 7444 Type *string `json:"type,omitempty"` 7445 // Location - The location of the resource group to which the resource belongs. 7446 Location *string `json:"location,omitempty"` 7447 Tags map[string]*string `json:"tags"` 7448} 7449 7450// MarshalJSON is the custom marshaler for SQLDatabaseCreateUpdateParameters. 7451func (sdcup SQLDatabaseCreateUpdateParameters) MarshalJSON() ([]byte, error) { 7452 objectMap := make(map[string]interface{}) 7453 if sdcup.SQLDatabaseCreateUpdateProperties != nil { 7454 objectMap["properties"] = sdcup.SQLDatabaseCreateUpdateProperties 7455 } 7456 if sdcup.Location != nil { 7457 objectMap["location"] = sdcup.Location 7458 } 7459 if sdcup.Tags != nil { 7460 objectMap["tags"] = sdcup.Tags 7461 } 7462 return json.Marshal(objectMap) 7463} 7464 7465// UnmarshalJSON is the custom unmarshaler for SQLDatabaseCreateUpdateParameters struct. 7466func (sdcup *SQLDatabaseCreateUpdateParameters) UnmarshalJSON(body []byte) error { 7467 var m map[string]*json.RawMessage 7468 err := json.Unmarshal(body, &m) 7469 if err != nil { 7470 return err 7471 } 7472 for k, v := range m { 7473 switch k { 7474 case "properties": 7475 if v != nil { 7476 var SQLDatabaseCreateUpdateProperties SQLDatabaseCreateUpdateProperties 7477 err = json.Unmarshal(*v, &SQLDatabaseCreateUpdateProperties) 7478 if err != nil { 7479 return err 7480 } 7481 sdcup.SQLDatabaseCreateUpdateProperties = &SQLDatabaseCreateUpdateProperties 7482 } 7483 case "id": 7484 if v != nil { 7485 var ID string 7486 err = json.Unmarshal(*v, &ID) 7487 if err != nil { 7488 return err 7489 } 7490 sdcup.ID = &ID 7491 } 7492 case "name": 7493 if v != nil { 7494 var name string 7495 err = json.Unmarshal(*v, &name) 7496 if err != nil { 7497 return err 7498 } 7499 sdcup.Name = &name 7500 } 7501 case "type": 7502 if v != nil { 7503 var typeVar string 7504 err = json.Unmarshal(*v, &typeVar) 7505 if err != nil { 7506 return err 7507 } 7508 sdcup.Type = &typeVar 7509 } 7510 case "location": 7511 if v != nil { 7512 var location string 7513 err = json.Unmarshal(*v, &location) 7514 if err != nil { 7515 return err 7516 } 7517 sdcup.Location = &location 7518 } 7519 case "tags": 7520 if v != nil { 7521 var tags map[string]*string 7522 err = json.Unmarshal(*v, &tags) 7523 if err != nil { 7524 return err 7525 } 7526 sdcup.Tags = tags 7527 } 7528 } 7529 } 7530 7531 return nil 7532} 7533 7534// SQLDatabaseCreateUpdateProperties properties to create and update Azure Cosmos DB SQL database. 7535type SQLDatabaseCreateUpdateProperties struct { 7536 // Resource - The standard JSON format of a SQL database 7537 Resource *SQLDatabaseResource `json:"resource,omitempty"` 7538 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 7539 Options *CreateUpdateOptions `json:"options,omitempty"` 7540} 7541 7542// SQLDatabaseGetProperties the properties of an Azure Cosmos DB SQL database 7543type SQLDatabaseGetProperties struct { 7544 Resource *SQLDatabaseGetPropertiesResource `json:"resource,omitempty"` 7545 Options *SQLDatabaseGetPropertiesOptions `json:"options,omitempty"` 7546} 7547 7548// SQLDatabaseGetPropertiesOptions ... 7549type SQLDatabaseGetPropertiesOptions struct { 7550 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 7551 Throughput *int32 `json:"throughput,omitempty"` 7552 // AutoscaleSettings - Specifies the Autoscale settings. 7553 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 7554} 7555 7556// SQLDatabaseGetPropertiesResource ... 7557type SQLDatabaseGetPropertiesResource struct { 7558 // ID - Name of the Cosmos DB SQL database 7559 ID *string `json:"id,omitempty"` 7560 // Rid - READ-ONLY; A system generated property. A unique identifier. 7561 Rid *string `json:"_rid,omitempty"` 7562 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 7563 Ts *float64 `json:"_ts,omitempty"` 7564 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 7565 Etag *string `json:"_etag,omitempty"` 7566 // Colls - A system generated property that specified the addressable path of the collections resource. 7567 Colls *string `json:"_colls,omitempty"` 7568 // Users - A system generated property that specifies the addressable path of the users resource. 7569 Users *string `json:"_users,omitempty"` 7570} 7571 7572// MarshalJSON is the custom marshaler for SQLDatabaseGetPropertiesResource. 7573func (sdgp SQLDatabaseGetPropertiesResource) MarshalJSON() ([]byte, error) { 7574 objectMap := make(map[string]interface{}) 7575 if sdgp.ID != nil { 7576 objectMap["id"] = sdgp.ID 7577 } 7578 if sdgp.Colls != nil { 7579 objectMap["_colls"] = sdgp.Colls 7580 } 7581 if sdgp.Users != nil { 7582 objectMap["_users"] = sdgp.Users 7583 } 7584 return json.Marshal(objectMap) 7585} 7586 7587// SQLDatabaseGetResults an Azure Cosmos DB SQL database. 7588type SQLDatabaseGetResults struct { 7589 autorest.Response `json:"-"` 7590 // SQLDatabaseGetProperties - The properties of an Azure Cosmos DB SQL database 7591 *SQLDatabaseGetProperties `json:"properties,omitempty"` 7592 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 7593 ID *string `json:"id,omitempty"` 7594 // Name - READ-ONLY; The name of the ARM resource. 7595 Name *string `json:"name,omitempty"` 7596 // Type - READ-ONLY; The type of Azure resource. 7597 Type *string `json:"type,omitempty"` 7598 // Location - The location of the resource group to which the resource belongs. 7599 Location *string `json:"location,omitempty"` 7600 Tags map[string]*string `json:"tags"` 7601} 7602 7603// MarshalJSON is the custom marshaler for SQLDatabaseGetResults. 7604func (sdgr SQLDatabaseGetResults) MarshalJSON() ([]byte, error) { 7605 objectMap := make(map[string]interface{}) 7606 if sdgr.SQLDatabaseGetProperties != nil { 7607 objectMap["properties"] = sdgr.SQLDatabaseGetProperties 7608 } 7609 if sdgr.Location != nil { 7610 objectMap["location"] = sdgr.Location 7611 } 7612 if sdgr.Tags != nil { 7613 objectMap["tags"] = sdgr.Tags 7614 } 7615 return json.Marshal(objectMap) 7616} 7617 7618// UnmarshalJSON is the custom unmarshaler for SQLDatabaseGetResults struct. 7619func (sdgr *SQLDatabaseGetResults) UnmarshalJSON(body []byte) error { 7620 var m map[string]*json.RawMessage 7621 err := json.Unmarshal(body, &m) 7622 if err != nil { 7623 return err 7624 } 7625 for k, v := range m { 7626 switch k { 7627 case "properties": 7628 if v != nil { 7629 var SQLDatabaseGetProperties SQLDatabaseGetProperties 7630 err = json.Unmarshal(*v, &SQLDatabaseGetProperties) 7631 if err != nil { 7632 return err 7633 } 7634 sdgr.SQLDatabaseGetProperties = &SQLDatabaseGetProperties 7635 } 7636 case "id": 7637 if v != nil { 7638 var ID string 7639 err = json.Unmarshal(*v, &ID) 7640 if err != nil { 7641 return err 7642 } 7643 sdgr.ID = &ID 7644 } 7645 case "name": 7646 if v != nil { 7647 var name string 7648 err = json.Unmarshal(*v, &name) 7649 if err != nil { 7650 return err 7651 } 7652 sdgr.Name = &name 7653 } 7654 case "type": 7655 if v != nil { 7656 var typeVar string 7657 err = json.Unmarshal(*v, &typeVar) 7658 if err != nil { 7659 return err 7660 } 7661 sdgr.Type = &typeVar 7662 } 7663 case "location": 7664 if v != nil { 7665 var location string 7666 err = json.Unmarshal(*v, &location) 7667 if err != nil { 7668 return err 7669 } 7670 sdgr.Location = &location 7671 } 7672 case "tags": 7673 if v != nil { 7674 var tags map[string]*string 7675 err = json.Unmarshal(*v, &tags) 7676 if err != nil { 7677 return err 7678 } 7679 sdgr.Tags = tags 7680 } 7681 } 7682 } 7683 7684 return nil 7685} 7686 7687// SQLDatabaseListResult the List operation response, that contains the SQL databases and their properties. 7688type SQLDatabaseListResult struct { 7689 autorest.Response `json:"-"` 7690 // Value - READ-ONLY; List of SQL databases and their properties. 7691 Value *[]SQLDatabaseGetResults `json:"value,omitempty"` 7692} 7693 7694// MarshalJSON is the custom marshaler for SQLDatabaseListResult. 7695func (sdlr SQLDatabaseListResult) MarshalJSON() ([]byte, error) { 7696 objectMap := make(map[string]interface{}) 7697 return json.Marshal(objectMap) 7698} 7699 7700// SQLDatabaseResource cosmos DB SQL database resource object 7701type SQLDatabaseResource struct { 7702 // ID - Name of the Cosmos DB SQL database 7703 ID *string `json:"id,omitempty"` 7704} 7705 7706// SQLResourcesCreateUpdateSQLContainerFuture an abstraction for monitoring and retrieving the results of a 7707// long-running operation. 7708type SQLResourcesCreateUpdateSQLContainerFuture struct { 7709 azure.FutureAPI 7710 // Result returns the result of the asynchronous operation. 7711 // If the operation has not completed it will return an error. 7712 Result func(SQLResourcesClient) (SQLContainerGetResults, error) 7713} 7714 7715// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7716func (future *SQLResourcesCreateUpdateSQLContainerFuture) UnmarshalJSON(body []byte) error { 7717 var azFuture azure.Future 7718 if err := json.Unmarshal(body, &azFuture); err != nil { 7719 return err 7720 } 7721 future.FutureAPI = &azFuture 7722 future.Result = future.result 7723 return nil 7724} 7725 7726// result is the default implementation for SQLResourcesCreateUpdateSQLContainerFuture.Result. 7727func (future *SQLResourcesCreateUpdateSQLContainerFuture) result(client SQLResourcesClient) (scgr SQLContainerGetResults, err error) { 7728 var done bool 7729 done, err = future.DoneWithContext(context.Background(), client) 7730 if err != nil { 7731 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLContainerFuture", "Result", future.Response(), "Polling failure") 7732 return 7733 } 7734 if !done { 7735 scgr.Response.Response = future.Response() 7736 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLContainerFuture") 7737 return 7738 } 7739 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7740 if scgr.Response.Response, err = future.GetResult(sender); err == nil && scgr.Response.Response.StatusCode != http.StatusNoContent { 7741 scgr, err = client.CreateUpdateSQLContainerResponder(scgr.Response.Response) 7742 if err != nil { 7743 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLContainerFuture", "Result", scgr.Response.Response, "Failure responding to request") 7744 } 7745 } 7746 return 7747} 7748 7749// SQLResourcesCreateUpdateSQLDatabaseFuture an abstraction for monitoring and retrieving the results of a 7750// long-running operation. 7751type SQLResourcesCreateUpdateSQLDatabaseFuture struct { 7752 azure.FutureAPI 7753 // Result returns the result of the asynchronous operation. 7754 // If the operation has not completed it will return an error. 7755 Result func(SQLResourcesClient) (SQLDatabaseGetResults, error) 7756} 7757 7758// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7759func (future *SQLResourcesCreateUpdateSQLDatabaseFuture) UnmarshalJSON(body []byte) error { 7760 var azFuture azure.Future 7761 if err := json.Unmarshal(body, &azFuture); err != nil { 7762 return err 7763 } 7764 future.FutureAPI = &azFuture 7765 future.Result = future.result 7766 return nil 7767} 7768 7769// result is the default implementation for SQLResourcesCreateUpdateSQLDatabaseFuture.Result. 7770func (future *SQLResourcesCreateUpdateSQLDatabaseFuture) result(client SQLResourcesClient) (sdgr SQLDatabaseGetResults, err error) { 7771 var done bool 7772 done, err = future.DoneWithContext(context.Background(), client) 7773 if err != nil { 7774 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLDatabaseFuture", "Result", future.Response(), "Polling failure") 7775 return 7776 } 7777 if !done { 7778 sdgr.Response.Response = future.Response() 7779 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLDatabaseFuture") 7780 return 7781 } 7782 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7783 if sdgr.Response.Response, err = future.GetResult(sender); err == nil && sdgr.Response.Response.StatusCode != http.StatusNoContent { 7784 sdgr, err = client.CreateUpdateSQLDatabaseResponder(sdgr.Response.Response) 7785 if err != nil { 7786 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLDatabaseFuture", "Result", sdgr.Response.Response, "Failure responding to request") 7787 } 7788 } 7789 return 7790} 7791 7792// SQLResourcesCreateUpdateSQLRoleAssignmentFuture an abstraction for monitoring and retrieving the results 7793// of a long-running operation. 7794type SQLResourcesCreateUpdateSQLRoleAssignmentFuture struct { 7795 azure.FutureAPI 7796 // Result returns the result of the asynchronous operation. 7797 // If the operation has not completed it will return an error. 7798 Result func(SQLResourcesClient) (SQLRoleAssignmentGetResults, error) 7799} 7800 7801// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7802func (future *SQLResourcesCreateUpdateSQLRoleAssignmentFuture) UnmarshalJSON(body []byte) error { 7803 var azFuture azure.Future 7804 if err := json.Unmarshal(body, &azFuture); err != nil { 7805 return err 7806 } 7807 future.FutureAPI = &azFuture 7808 future.Result = future.result 7809 return nil 7810} 7811 7812// result is the default implementation for SQLResourcesCreateUpdateSQLRoleAssignmentFuture.Result. 7813func (future *SQLResourcesCreateUpdateSQLRoleAssignmentFuture) result(client SQLResourcesClient) (sragr SQLRoleAssignmentGetResults, err error) { 7814 var done bool 7815 done, err = future.DoneWithContext(context.Background(), client) 7816 if err != nil { 7817 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLRoleAssignmentFuture", "Result", future.Response(), "Polling failure") 7818 return 7819 } 7820 if !done { 7821 sragr.Response.Response = future.Response() 7822 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLRoleAssignmentFuture") 7823 return 7824 } 7825 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7826 if sragr.Response.Response, err = future.GetResult(sender); err == nil && sragr.Response.Response.StatusCode != http.StatusNoContent { 7827 sragr, err = client.CreateUpdateSQLRoleAssignmentResponder(sragr.Response.Response) 7828 if err != nil { 7829 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLRoleAssignmentFuture", "Result", sragr.Response.Response, "Failure responding to request") 7830 } 7831 } 7832 return 7833} 7834 7835// SQLResourcesCreateUpdateSQLRoleDefinitionFuture an abstraction for monitoring and retrieving the results 7836// of a long-running operation. 7837type SQLResourcesCreateUpdateSQLRoleDefinitionFuture struct { 7838 azure.FutureAPI 7839 // Result returns the result of the asynchronous operation. 7840 // If the operation has not completed it will return an error. 7841 Result func(SQLResourcesClient) (SQLRoleDefinitionGetResults, error) 7842} 7843 7844// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7845func (future *SQLResourcesCreateUpdateSQLRoleDefinitionFuture) UnmarshalJSON(body []byte) error { 7846 var azFuture azure.Future 7847 if err := json.Unmarshal(body, &azFuture); err != nil { 7848 return err 7849 } 7850 future.FutureAPI = &azFuture 7851 future.Result = future.result 7852 return nil 7853} 7854 7855// result is the default implementation for SQLResourcesCreateUpdateSQLRoleDefinitionFuture.Result. 7856func (future *SQLResourcesCreateUpdateSQLRoleDefinitionFuture) result(client SQLResourcesClient) (srdgr SQLRoleDefinitionGetResults, err error) { 7857 var done bool 7858 done, err = future.DoneWithContext(context.Background(), client) 7859 if err != nil { 7860 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLRoleDefinitionFuture", "Result", future.Response(), "Polling failure") 7861 return 7862 } 7863 if !done { 7864 srdgr.Response.Response = future.Response() 7865 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLRoleDefinitionFuture") 7866 return 7867 } 7868 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7869 if srdgr.Response.Response, err = future.GetResult(sender); err == nil && srdgr.Response.Response.StatusCode != http.StatusNoContent { 7870 srdgr, err = client.CreateUpdateSQLRoleDefinitionResponder(srdgr.Response.Response) 7871 if err != nil { 7872 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLRoleDefinitionFuture", "Result", srdgr.Response.Response, "Failure responding to request") 7873 } 7874 } 7875 return 7876} 7877 7878// SQLResourcesCreateUpdateSQLStoredProcedureFuture an abstraction for monitoring and retrieving the 7879// results of a long-running operation. 7880type SQLResourcesCreateUpdateSQLStoredProcedureFuture struct { 7881 azure.FutureAPI 7882 // Result returns the result of the asynchronous operation. 7883 // If the operation has not completed it will return an error. 7884 Result func(SQLResourcesClient) (SQLStoredProcedureGetResults, error) 7885} 7886 7887// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7888func (future *SQLResourcesCreateUpdateSQLStoredProcedureFuture) UnmarshalJSON(body []byte) error { 7889 var azFuture azure.Future 7890 if err := json.Unmarshal(body, &azFuture); err != nil { 7891 return err 7892 } 7893 future.FutureAPI = &azFuture 7894 future.Result = future.result 7895 return nil 7896} 7897 7898// result is the default implementation for SQLResourcesCreateUpdateSQLStoredProcedureFuture.Result. 7899func (future *SQLResourcesCreateUpdateSQLStoredProcedureFuture) result(client SQLResourcesClient) (sspgr SQLStoredProcedureGetResults, err error) { 7900 var done bool 7901 done, err = future.DoneWithContext(context.Background(), client) 7902 if err != nil { 7903 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLStoredProcedureFuture", "Result", future.Response(), "Polling failure") 7904 return 7905 } 7906 if !done { 7907 sspgr.Response.Response = future.Response() 7908 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLStoredProcedureFuture") 7909 return 7910 } 7911 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7912 if sspgr.Response.Response, err = future.GetResult(sender); err == nil && sspgr.Response.Response.StatusCode != http.StatusNoContent { 7913 sspgr, err = client.CreateUpdateSQLStoredProcedureResponder(sspgr.Response.Response) 7914 if err != nil { 7915 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLStoredProcedureFuture", "Result", sspgr.Response.Response, "Failure responding to request") 7916 } 7917 } 7918 return 7919} 7920 7921// SQLResourcesCreateUpdateSQLTriggerFuture an abstraction for monitoring and retrieving the results of a 7922// long-running operation. 7923type SQLResourcesCreateUpdateSQLTriggerFuture struct { 7924 azure.FutureAPI 7925 // Result returns the result of the asynchronous operation. 7926 // If the operation has not completed it will return an error. 7927 Result func(SQLResourcesClient) (SQLTriggerGetResults, error) 7928} 7929 7930// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7931func (future *SQLResourcesCreateUpdateSQLTriggerFuture) UnmarshalJSON(body []byte) error { 7932 var azFuture azure.Future 7933 if err := json.Unmarshal(body, &azFuture); err != nil { 7934 return err 7935 } 7936 future.FutureAPI = &azFuture 7937 future.Result = future.result 7938 return nil 7939} 7940 7941// result is the default implementation for SQLResourcesCreateUpdateSQLTriggerFuture.Result. 7942func (future *SQLResourcesCreateUpdateSQLTriggerFuture) result(client SQLResourcesClient) (stgr SQLTriggerGetResults, err error) { 7943 var done bool 7944 done, err = future.DoneWithContext(context.Background(), client) 7945 if err != nil { 7946 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLTriggerFuture", "Result", future.Response(), "Polling failure") 7947 return 7948 } 7949 if !done { 7950 stgr.Response.Response = future.Response() 7951 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLTriggerFuture") 7952 return 7953 } 7954 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7955 if stgr.Response.Response, err = future.GetResult(sender); err == nil && stgr.Response.Response.StatusCode != http.StatusNoContent { 7956 stgr, err = client.CreateUpdateSQLTriggerResponder(stgr.Response.Response) 7957 if err != nil { 7958 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLTriggerFuture", "Result", stgr.Response.Response, "Failure responding to request") 7959 } 7960 } 7961 return 7962} 7963 7964// SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture an abstraction for monitoring and retrieving the 7965// results of a long-running operation. 7966type SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture struct { 7967 azure.FutureAPI 7968 // Result returns the result of the asynchronous operation. 7969 // If the operation has not completed it will return an error. 7970 Result func(SQLResourcesClient) (SQLUserDefinedFunctionGetResults, error) 7971} 7972 7973// UnmarshalJSON is the custom unmarshaller for CreateFuture. 7974func (future *SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture) UnmarshalJSON(body []byte) error { 7975 var azFuture azure.Future 7976 if err := json.Unmarshal(body, &azFuture); err != nil { 7977 return err 7978 } 7979 future.FutureAPI = &azFuture 7980 future.Result = future.result 7981 return nil 7982} 7983 7984// result is the default implementation for SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture.Result. 7985func (future *SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture) result(client SQLResourcesClient) (sudfgr SQLUserDefinedFunctionGetResults, err error) { 7986 var done bool 7987 done, err = future.DoneWithContext(context.Background(), client) 7988 if err != nil { 7989 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture", "Result", future.Response(), "Polling failure") 7990 return 7991 } 7992 if !done { 7993 sudfgr.Response.Response = future.Response() 7994 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture") 7995 return 7996 } 7997 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 7998 if sudfgr.Response.Response, err = future.GetResult(sender); err == nil && sudfgr.Response.Response.StatusCode != http.StatusNoContent { 7999 sudfgr, err = client.CreateUpdateSQLUserDefinedFunctionResponder(sudfgr.Response.Response) 8000 if err != nil { 8001 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesCreateUpdateSQLUserDefinedFunctionFuture", "Result", sudfgr.Response.Response, "Failure responding to request") 8002 } 8003 } 8004 return 8005} 8006 8007// SQLResourcesDeleteSQLContainerFuture an abstraction for monitoring and retrieving the results of a 8008// long-running operation. 8009type SQLResourcesDeleteSQLContainerFuture struct { 8010 azure.FutureAPI 8011 // Result returns the result of the asynchronous operation. 8012 // If the operation has not completed it will return an error. 8013 Result func(SQLResourcesClient) (autorest.Response, error) 8014} 8015 8016// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8017func (future *SQLResourcesDeleteSQLContainerFuture) UnmarshalJSON(body []byte) error { 8018 var azFuture azure.Future 8019 if err := json.Unmarshal(body, &azFuture); err != nil { 8020 return err 8021 } 8022 future.FutureAPI = &azFuture 8023 future.Result = future.result 8024 return nil 8025} 8026 8027// result is the default implementation for SQLResourcesDeleteSQLContainerFuture.Result. 8028func (future *SQLResourcesDeleteSQLContainerFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8029 var done bool 8030 done, err = future.DoneWithContext(context.Background(), client) 8031 if err != nil { 8032 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLContainerFuture", "Result", future.Response(), "Polling failure") 8033 return 8034 } 8035 if !done { 8036 ar.Response = future.Response() 8037 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLContainerFuture") 8038 return 8039 } 8040 ar.Response = future.Response() 8041 return 8042} 8043 8044// SQLResourcesDeleteSQLDatabaseFuture an abstraction for monitoring and retrieving the results of a 8045// long-running operation. 8046type SQLResourcesDeleteSQLDatabaseFuture struct { 8047 azure.FutureAPI 8048 // Result returns the result of the asynchronous operation. 8049 // If the operation has not completed it will return an error. 8050 Result func(SQLResourcesClient) (autorest.Response, error) 8051} 8052 8053// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8054func (future *SQLResourcesDeleteSQLDatabaseFuture) UnmarshalJSON(body []byte) error { 8055 var azFuture azure.Future 8056 if err := json.Unmarshal(body, &azFuture); err != nil { 8057 return err 8058 } 8059 future.FutureAPI = &azFuture 8060 future.Result = future.result 8061 return nil 8062} 8063 8064// result is the default implementation for SQLResourcesDeleteSQLDatabaseFuture.Result. 8065func (future *SQLResourcesDeleteSQLDatabaseFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8066 var done bool 8067 done, err = future.DoneWithContext(context.Background(), client) 8068 if err != nil { 8069 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLDatabaseFuture", "Result", future.Response(), "Polling failure") 8070 return 8071 } 8072 if !done { 8073 ar.Response = future.Response() 8074 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLDatabaseFuture") 8075 return 8076 } 8077 ar.Response = future.Response() 8078 return 8079} 8080 8081// SQLResourcesDeleteSQLRoleAssignmentFuture an abstraction for monitoring and retrieving the results of a 8082// long-running operation. 8083type SQLResourcesDeleteSQLRoleAssignmentFuture struct { 8084 azure.FutureAPI 8085 // Result returns the result of the asynchronous operation. 8086 // If the operation has not completed it will return an error. 8087 Result func(SQLResourcesClient) (autorest.Response, error) 8088} 8089 8090// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8091func (future *SQLResourcesDeleteSQLRoleAssignmentFuture) UnmarshalJSON(body []byte) error { 8092 var azFuture azure.Future 8093 if err := json.Unmarshal(body, &azFuture); err != nil { 8094 return err 8095 } 8096 future.FutureAPI = &azFuture 8097 future.Result = future.result 8098 return nil 8099} 8100 8101// result is the default implementation for SQLResourcesDeleteSQLRoleAssignmentFuture.Result. 8102func (future *SQLResourcesDeleteSQLRoleAssignmentFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8103 var done bool 8104 done, err = future.DoneWithContext(context.Background(), client) 8105 if err != nil { 8106 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLRoleAssignmentFuture", "Result", future.Response(), "Polling failure") 8107 return 8108 } 8109 if !done { 8110 ar.Response = future.Response() 8111 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLRoleAssignmentFuture") 8112 return 8113 } 8114 ar.Response = future.Response() 8115 return 8116} 8117 8118// SQLResourcesDeleteSQLRoleDefinitionFuture an abstraction for monitoring and retrieving the results of a 8119// long-running operation. 8120type SQLResourcesDeleteSQLRoleDefinitionFuture struct { 8121 azure.FutureAPI 8122 // Result returns the result of the asynchronous operation. 8123 // If the operation has not completed it will return an error. 8124 Result func(SQLResourcesClient) (autorest.Response, error) 8125} 8126 8127// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8128func (future *SQLResourcesDeleteSQLRoleDefinitionFuture) UnmarshalJSON(body []byte) error { 8129 var azFuture azure.Future 8130 if err := json.Unmarshal(body, &azFuture); err != nil { 8131 return err 8132 } 8133 future.FutureAPI = &azFuture 8134 future.Result = future.result 8135 return nil 8136} 8137 8138// result is the default implementation for SQLResourcesDeleteSQLRoleDefinitionFuture.Result. 8139func (future *SQLResourcesDeleteSQLRoleDefinitionFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8140 var done bool 8141 done, err = future.DoneWithContext(context.Background(), client) 8142 if err != nil { 8143 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLRoleDefinitionFuture", "Result", future.Response(), "Polling failure") 8144 return 8145 } 8146 if !done { 8147 ar.Response = future.Response() 8148 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLRoleDefinitionFuture") 8149 return 8150 } 8151 ar.Response = future.Response() 8152 return 8153} 8154 8155// SQLResourcesDeleteSQLStoredProcedureFuture an abstraction for monitoring and retrieving the results of a 8156// long-running operation. 8157type SQLResourcesDeleteSQLStoredProcedureFuture struct { 8158 azure.FutureAPI 8159 // Result returns the result of the asynchronous operation. 8160 // If the operation has not completed it will return an error. 8161 Result func(SQLResourcesClient) (autorest.Response, error) 8162} 8163 8164// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8165func (future *SQLResourcesDeleteSQLStoredProcedureFuture) UnmarshalJSON(body []byte) error { 8166 var azFuture azure.Future 8167 if err := json.Unmarshal(body, &azFuture); err != nil { 8168 return err 8169 } 8170 future.FutureAPI = &azFuture 8171 future.Result = future.result 8172 return nil 8173} 8174 8175// result is the default implementation for SQLResourcesDeleteSQLStoredProcedureFuture.Result. 8176func (future *SQLResourcesDeleteSQLStoredProcedureFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8177 var done bool 8178 done, err = future.DoneWithContext(context.Background(), client) 8179 if err != nil { 8180 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLStoredProcedureFuture", "Result", future.Response(), "Polling failure") 8181 return 8182 } 8183 if !done { 8184 ar.Response = future.Response() 8185 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLStoredProcedureFuture") 8186 return 8187 } 8188 ar.Response = future.Response() 8189 return 8190} 8191 8192// SQLResourcesDeleteSQLTriggerFuture an abstraction for monitoring and retrieving the results of a 8193// long-running operation. 8194type SQLResourcesDeleteSQLTriggerFuture struct { 8195 azure.FutureAPI 8196 // Result returns the result of the asynchronous operation. 8197 // If the operation has not completed it will return an error. 8198 Result func(SQLResourcesClient) (autorest.Response, error) 8199} 8200 8201// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8202func (future *SQLResourcesDeleteSQLTriggerFuture) UnmarshalJSON(body []byte) error { 8203 var azFuture azure.Future 8204 if err := json.Unmarshal(body, &azFuture); err != nil { 8205 return err 8206 } 8207 future.FutureAPI = &azFuture 8208 future.Result = future.result 8209 return nil 8210} 8211 8212// result is the default implementation for SQLResourcesDeleteSQLTriggerFuture.Result. 8213func (future *SQLResourcesDeleteSQLTriggerFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8214 var done bool 8215 done, err = future.DoneWithContext(context.Background(), client) 8216 if err != nil { 8217 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLTriggerFuture", "Result", future.Response(), "Polling failure") 8218 return 8219 } 8220 if !done { 8221 ar.Response = future.Response() 8222 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLTriggerFuture") 8223 return 8224 } 8225 ar.Response = future.Response() 8226 return 8227} 8228 8229// SQLResourcesDeleteSQLUserDefinedFunctionFuture an abstraction for monitoring and retrieving the results 8230// of a long-running operation. 8231type SQLResourcesDeleteSQLUserDefinedFunctionFuture struct { 8232 azure.FutureAPI 8233 // Result returns the result of the asynchronous operation. 8234 // If the operation has not completed it will return an error. 8235 Result func(SQLResourcesClient) (autorest.Response, error) 8236} 8237 8238// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8239func (future *SQLResourcesDeleteSQLUserDefinedFunctionFuture) UnmarshalJSON(body []byte) error { 8240 var azFuture azure.Future 8241 if err := json.Unmarshal(body, &azFuture); err != nil { 8242 return err 8243 } 8244 future.FutureAPI = &azFuture 8245 future.Result = future.result 8246 return nil 8247} 8248 8249// result is the default implementation for SQLResourcesDeleteSQLUserDefinedFunctionFuture.Result. 8250func (future *SQLResourcesDeleteSQLUserDefinedFunctionFuture) result(client SQLResourcesClient) (ar autorest.Response, err error) { 8251 var done bool 8252 done, err = future.DoneWithContext(context.Background(), client) 8253 if err != nil { 8254 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesDeleteSQLUserDefinedFunctionFuture", "Result", future.Response(), "Polling failure") 8255 return 8256 } 8257 if !done { 8258 ar.Response = future.Response() 8259 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesDeleteSQLUserDefinedFunctionFuture") 8260 return 8261 } 8262 ar.Response = future.Response() 8263 return 8264} 8265 8266// SQLResourcesMigrateSQLContainerToAutoscaleFuture an abstraction for monitoring and retrieving the 8267// results of a long-running operation. 8268type SQLResourcesMigrateSQLContainerToAutoscaleFuture struct { 8269 azure.FutureAPI 8270 // Result returns the result of the asynchronous operation. 8271 // If the operation has not completed it will return an error. 8272 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8273} 8274 8275// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8276func (future *SQLResourcesMigrateSQLContainerToAutoscaleFuture) UnmarshalJSON(body []byte) error { 8277 var azFuture azure.Future 8278 if err := json.Unmarshal(body, &azFuture); err != nil { 8279 return err 8280 } 8281 future.FutureAPI = &azFuture 8282 future.Result = future.result 8283 return nil 8284} 8285 8286// result is the default implementation for SQLResourcesMigrateSQLContainerToAutoscaleFuture.Result. 8287func (future *SQLResourcesMigrateSQLContainerToAutoscaleFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8288 var done bool 8289 done, err = future.DoneWithContext(context.Background(), client) 8290 if err != nil { 8291 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLContainerToAutoscaleFuture", "Result", future.Response(), "Polling failure") 8292 return 8293 } 8294 if !done { 8295 tsgr.Response.Response = future.Response() 8296 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesMigrateSQLContainerToAutoscaleFuture") 8297 return 8298 } 8299 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8300 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8301 tsgr, err = client.MigrateSQLContainerToAutoscaleResponder(tsgr.Response.Response) 8302 if err != nil { 8303 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLContainerToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8304 } 8305 } 8306 return 8307} 8308 8309// SQLResourcesMigrateSQLContainerToManualThroughputFuture an abstraction for monitoring and retrieving the 8310// results of a long-running operation. 8311type SQLResourcesMigrateSQLContainerToManualThroughputFuture struct { 8312 azure.FutureAPI 8313 // Result returns the result of the asynchronous operation. 8314 // If the operation has not completed it will return an error. 8315 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8316} 8317 8318// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8319func (future *SQLResourcesMigrateSQLContainerToManualThroughputFuture) UnmarshalJSON(body []byte) error { 8320 var azFuture azure.Future 8321 if err := json.Unmarshal(body, &azFuture); err != nil { 8322 return err 8323 } 8324 future.FutureAPI = &azFuture 8325 future.Result = future.result 8326 return nil 8327} 8328 8329// result is the default implementation for SQLResourcesMigrateSQLContainerToManualThroughputFuture.Result. 8330func (future *SQLResourcesMigrateSQLContainerToManualThroughputFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8331 var done bool 8332 done, err = future.DoneWithContext(context.Background(), client) 8333 if err != nil { 8334 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLContainerToManualThroughputFuture", "Result", future.Response(), "Polling failure") 8335 return 8336 } 8337 if !done { 8338 tsgr.Response.Response = future.Response() 8339 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesMigrateSQLContainerToManualThroughputFuture") 8340 return 8341 } 8342 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8343 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8344 tsgr, err = client.MigrateSQLContainerToManualThroughputResponder(tsgr.Response.Response) 8345 if err != nil { 8346 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLContainerToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8347 } 8348 } 8349 return 8350} 8351 8352// SQLResourcesMigrateSQLDatabaseToAutoscaleFuture an abstraction for monitoring and retrieving the results 8353// of a long-running operation. 8354type SQLResourcesMigrateSQLDatabaseToAutoscaleFuture struct { 8355 azure.FutureAPI 8356 // Result returns the result of the asynchronous operation. 8357 // If the operation has not completed it will return an error. 8358 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8359} 8360 8361// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8362func (future *SQLResourcesMigrateSQLDatabaseToAutoscaleFuture) UnmarshalJSON(body []byte) error { 8363 var azFuture azure.Future 8364 if err := json.Unmarshal(body, &azFuture); err != nil { 8365 return err 8366 } 8367 future.FutureAPI = &azFuture 8368 future.Result = future.result 8369 return nil 8370} 8371 8372// result is the default implementation for SQLResourcesMigrateSQLDatabaseToAutoscaleFuture.Result. 8373func (future *SQLResourcesMigrateSQLDatabaseToAutoscaleFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8374 var done bool 8375 done, err = future.DoneWithContext(context.Background(), client) 8376 if err != nil { 8377 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLDatabaseToAutoscaleFuture", "Result", future.Response(), "Polling failure") 8378 return 8379 } 8380 if !done { 8381 tsgr.Response.Response = future.Response() 8382 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesMigrateSQLDatabaseToAutoscaleFuture") 8383 return 8384 } 8385 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8386 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8387 tsgr, err = client.MigrateSQLDatabaseToAutoscaleResponder(tsgr.Response.Response) 8388 if err != nil { 8389 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLDatabaseToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8390 } 8391 } 8392 return 8393} 8394 8395// SQLResourcesMigrateSQLDatabaseToManualThroughputFuture an abstraction for monitoring and retrieving the 8396// results of a long-running operation. 8397type SQLResourcesMigrateSQLDatabaseToManualThroughputFuture struct { 8398 azure.FutureAPI 8399 // Result returns the result of the asynchronous operation. 8400 // If the operation has not completed it will return an error. 8401 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8402} 8403 8404// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8405func (future *SQLResourcesMigrateSQLDatabaseToManualThroughputFuture) UnmarshalJSON(body []byte) error { 8406 var azFuture azure.Future 8407 if err := json.Unmarshal(body, &azFuture); err != nil { 8408 return err 8409 } 8410 future.FutureAPI = &azFuture 8411 future.Result = future.result 8412 return nil 8413} 8414 8415// result is the default implementation for SQLResourcesMigrateSQLDatabaseToManualThroughputFuture.Result. 8416func (future *SQLResourcesMigrateSQLDatabaseToManualThroughputFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8417 var done bool 8418 done, err = future.DoneWithContext(context.Background(), client) 8419 if err != nil { 8420 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLDatabaseToManualThroughputFuture", "Result", future.Response(), "Polling failure") 8421 return 8422 } 8423 if !done { 8424 tsgr.Response.Response = future.Response() 8425 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesMigrateSQLDatabaseToManualThroughputFuture") 8426 return 8427 } 8428 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8429 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8430 tsgr, err = client.MigrateSQLDatabaseToManualThroughputResponder(tsgr.Response.Response) 8431 if err != nil { 8432 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesMigrateSQLDatabaseToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8433 } 8434 } 8435 return 8436} 8437 8438// SQLResourcesRetrieveContinuousBackupInformationFuture an abstraction for monitoring and retrieving the 8439// results of a long-running operation. 8440type SQLResourcesRetrieveContinuousBackupInformationFuture struct { 8441 azure.FutureAPI 8442 // Result returns the result of the asynchronous operation. 8443 // If the operation has not completed it will return an error. 8444 Result func(SQLResourcesClient) (BackupInformation, error) 8445} 8446 8447// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8448func (future *SQLResourcesRetrieveContinuousBackupInformationFuture) UnmarshalJSON(body []byte) error { 8449 var azFuture azure.Future 8450 if err := json.Unmarshal(body, &azFuture); err != nil { 8451 return err 8452 } 8453 future.FutureAPI = &azFuture 8454 future.Result = future.result 8455 return nil 8456} 8457 8458// result is the default implementation for SQLResourcesRetrieveContinuousBackupInformationFuture.Result. 8459func (future *SQLResourcesRetrieveContinuousBackupInformationFuture) result(client SQLResourcesClient) (bi BackupInformation, err error) { 8460 var done bool 8461 done, err = future.DoneWithContext(context.Background(), client) 8462 if err != nil { 8463 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesRetrieveContinuousBackupInformationFuture", "Result", future.Response(), "Polling failure") 8464 return 8465 } 8466 if !done { 8467 bi.Response.Response = future.Response() 8468 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesRetrieveContinuousBackupInformationFuture") 8469 return 8470 } 8471 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8472 if bi.Response.Response, err = future.GetResult(sender); err == nil && bi.Response.Response.StatusCode != http.StatusNoContent { 8473 bi, err = client.RetrieveContinuousBackupInformationResponder(bi.Response.Response) 8474 if err != nil { 8475 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesRetrieveContinuousBackupInformationFuture", "Result", bi.Response.Response, "Failure responding to request") 8476 } 8477 } 8478 return 8479} 8480 8481// SQLResourcesUpdateSQLContainerThroughputFuture an abstraction for monitoring and retrieving the results 8482// of a long-running operation. 8483type SQLResourcesUpdateSQLContainerThroughputFuture struct { 8484 azure.FutureAPI 8485 // Result returns the result of the asynchronous operation. 8486 // If the operation has not completed it will return an error. 8487 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8488} 8489 8490// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8491func (future *SQLResourcesUpdateSQLContainerThroughputFuture) UnmarshalJSON(body []byte) error { 8492 var azFuture azure.Future 8493 if err := json.Unmarshal(body, &azFuture); err != nil { 8494 return err 8495 } 8496 future.FutureAPI = &azFuture 8497 future.Result = future.result 8498 return nil 8499} 8500 8501// result is the default implementation for SQLResourcesUpdateSQLContainerThroughputFuture.Result. 8502func (future *SQLResourcesUpdateSQLContainerThroughputFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8503 var done bool 8504 done, err = future.DoneWithContext(context.Background(), client) 8505 if err != nil { 8506 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesUpdateSQLContainerThroughputFuture", "Result", future.Response(), "Polling failure") 8507 return 8508 } 8509 if !done { 8510 tsgr.Response.Response = future.Response() 8511 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesUpdateSQLContainerThroughputFuture") 8512 return 8513 } 8514 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8515 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8516 tsgr, err = client.UpdateSQLContainerThroughputResponder(tsgr.Response.Response) 8517 if err != nil { 8518 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesUpdateSQLContainerThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8519 } 8520 } 8521 return 8522} 8523 8524// SQLResourcesUpdateSQLDatabaseThroughputFuture an abstraction for monitoring and retrieving the results 8525// of a long-running operation. 8526type SQLResourcesUpdateSQLDatabaseThroughputFuture struct { 8527 azure.FutureAPI 8528 // Result returns the result of the asynchronous operation. 8529 // If the operation has not completed it will return an error. 8530 Result func(SQLResourcesClient) (ThroughputSettingsGetResults, error) 8531} 8532 8533// UnmarshalJSON is the custom unmarshaller for CreateFuture. 8534func (future *SQLResourcesUpdateSQLDatabaseThroughputFuture) UnmarshalJSON(body []byte) error { 8535 var azFuture azure.Future 8536 if err := json.Unmarshal(body, &azFuture); err != nil { 8537 return err 8538 } 8539 future.FutureAPI = &azFuture 8540 future.Result = future.result 8541 return nil 8542} 8543 8544// result is the default implementation for SQLResourcesUpdateSQLDatabaseThroughputFuture.Result. 8545func (future *SQLResourcesUpdateSQLDatabaseThroughputFuture) result(client SQLResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 8546 var done bool 8547 done, err = future.DoneWithContext(context.Background(), client) 8548 if err != nil { 8549 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesUpdateSQLDatabaseThroughputFuture", "Result", future.Response(), "Polling failure") 8550 return 8551 } 8552 if !done { 8553 tsgr.Response.Response = future.Response() 8554 err = azure.NewAsyncOpIncompleteError("documentdb.SQLResourcesUpdateSQLDatabaseThroughputFuture") 8555 return 8556 } 8557 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 8558 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 8559 tsgr, err = client.UpdateSQLDatabaseThroughputResponder(tsgr.Response.Response) 8560 if err != nil { 8561 err = autorest.NewErrorWithError(err, "documentdb.SQLResourcesUpdateSQLDatabaseThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 8562 } 8563 } 8564 return 8565} 8566 8567// SQLRoleAssignmentCreateUpdateParameters parameters to create and update an Azure Cosmos DB SQL Role 8568// Assignment. 8569type SQLRoleAssignmentCreateUpdateParameters struct { 8570 // SQLRoleAssignmentResource - Properties to create and update an Azure Cosmos DB SQL Role Assignment. 8571 *SQLRoleAssignmentResource `json:"properties,omitempty"` 8572} 8573 8574// MarshalJSON is the custom marshaler for SQLRoleAssignmentCreateUpdateParameters. 8575func (sracup SQLRoleAssignmentCreateUpdateParameters) MarshalJSON() ([]byte, error) { 8576 objectMap := make(map[string]interface{}) 8577 if sracup.SQLRoleAssignmentResource != nil { 8578 objectMap["properties"] = sracup.SQLRoleAssignmentResource 8579 } 8580 return json.Marshal(objectMap) 8581} 8582 8583// UnmarshalJSON is the custom unmarshaler for SQLRoleAssignmentCreateUpdateParameters struct. 8584func (sracup *SQLRoleAssignmentCreateUpdateParameters) UnmarshalJSON(body []byte) error { 8585 var m map[string]*json.RawMessage 8586 err := json.Unmarshal(body, &m) 8587 if err != nil { 8588 return err 8589 } 8590 for k, v := range m { 8591 switch k { 8592 case "properties": 8593 if v != nil { 8594 var SQLRoleAssignmentResource SQLRoleAssignmentResource 8595 err = json.Unmarshal(*v, &SQLRoleAssignmentResource) 8596 if err != nil { 8597 return err 8598 } 8599 sracup.SQLRoleAssignmentResource = &SQLRoleAssignmentResource 8600 } 8601 } 8602 } 8603 8604 return nil 8605} 8606 8607// SQLRoleAssignmentGetResults an Azure Cosmos DB Role Assignment 8608type SQLRoleAssignmentGetResults struct { 8609 autorest.Response `json:"-"` 8610 // SQLRoleAssignmentResource - Properties related to the Role Assignment. 8611 *SQLRoleAssignmentResource `json:"properties,omitempty"` 8612 // ID - READ-ONLY; The unique resource identifier of the database account. 8613 ID *string `json:"id,omitempty"` 8614 // Name - READ-ONLY; The name of the database account. 8615 Name *string `json:"name,omitempty"` 8616 // Type - READ-ONLY; The type of Azure resource. 8617 Type *string `json:"type,omitempty"` 8618} 8619 8620// MarshalJSON is the custom marshaler for SQLRoleAssignmentGetResults. 8621func (sragr SQLRoleAssignmentGetResults) MarshalJSON() ([]byte, error) { 8622 objectMap := make(map[string]interface{}) 8623 if sragr.SQLRoleAssignmentResource != nil { 8624 objectMap["properties"] = sragr.SQLRoleAssignmentResource 8625 } 8626 return json.Marshal(objectMap) 8627} 8628 8629// UnmarshalJSON is the custom unmarshaler for SQLRoleAssignmentGetResults struct. 8630func (sragr *SQLRoleAssignmentGetResults) UnmarshalJSON(body []byte) error { 8631 var m map[string]*json.RawMessage 8632 err := json.Unmarshal(body, &m) 8633 if err != nil { 8634 return err 8635 } 8636 for k, v := range m { 8637 switch k { 8638 case "properties": 8639 if v != nil { 8640 var SQLRoleAssignmentResource SQLRoleAssignmentResource 8641 err = json.Unmarshal(*v, &SQLRoleAssignmentResource) 8642 if err != nil { 8643 return err 8644 } 8645 sragr.SQLRoleAssignmentResource = &SQLRoleAssignmentResource 8646 } 8647 case "id": 8648 if v != nil { 8649 var ID string 8650 err = json.Unmarshal(*v, &ID) 8651 if err != nil { 8652 return err 8653 } 8654 sragr.ID = &ID 8655 } 8656 case "name": 8657 if v != nil { 8658 var name string 8659 err = json.Unmarshal(*v, &name) 8660 if err != nil { 8661 return err 8662 } 8663 sragr.Name = &name 8664 } 8665 case "type": 8666 if v != nil { 8667 var typeVar string 8668 err = json.Unmarshal(*v, &typeVar) 8669 if err != nil { 8670 return err 8671 } 8672 sragr.Type = &typeVar 8673 } 8674 } 8675 } 8676 8677 return nil 8678} 8679 8680// SQLRoleAssignmentListResult the relevant Role Assignments. 8681type SQLRoleAssignmentListResult struct { 8682 autorest.Response `json:"-"` 8683 // Value - READ-ONLY; List of Role Assignments and their properties 8684 Value *[]SQLRoleAssignmentGetResults `json:"value,omitempty"` 8685} 8686 8687// MarshalJSON is the custom marshaler for SQLRoleAssignmentListResult. 8688func (sralr SQLRoleAssignmentListResult) MarshalJSON() ([]byte, error) { 8689 objectMap := make(map[string]interface{}) 8690 return json.Marshal(objectMap) 8691} 8692 8693// SQLRoleAssignmentResource azure Cosmos DB SQL Role Assignment resource object. 8694type SQLRoleAssignmentResource struct { 8695 // RoleDefinitionID - The unique identifier for the associated Role Definition. 8696 RoleDefinitionID *string `json:"roleDefinitionId,omitempty"` 8697 // Scope - The data plane resource path for which access is being granted through this Role Assignment. 8698 Scope *string `json:"scope,omitempty"` 8699 // PrincipalID - The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. 8700 PrincipalID *string `json:"principalId,omitempty"` 8701} 8702 8703// SQLRoleDefinitionCreateUpdateParameters parameters to create and update an Azure Cosmos DB SQL Role 8704// Definition. 8705type SQLRoleDefinitionCreateUpdateParameters struct { 8706 // SQLRoleDefinitionResource - Properties to create and update an Azure Cosmos DB SQL Role Definition. 8707 *SQLRoleDefinitionResource `json:"properties,omitempty"` 8708} 8709 8710// MarshalJSON is the custom marshaler for SQLRoleDefinitionCreateUpdateParameters. 8711func (srdcup SQLRoleDefinitionCreateUpdateParameters) MarshalJSON() ([]byte, error) { 8712 objectMap := make(map[string]interface{}) 8713 if srdcup.SQLRoleDefinitionResource != nil { 8714 objectMap["properties"] = srdcup.SQLRoleDefinitionResource 8715 } 8716 return json.Marshal(objectMap) 8717} 8718 8719// UnmarshalJSON is the custom unmarshaler for SQLRoleDefinitionCreateUpdateParameters struct. 8720func (srdcup *SQLRoleDefinitionCreateUpdateParameters) UnmarshalJSON(body []byte) error { 8721 var m map[string]*json.RawMessage 8722 err := json.Unmarshal(body, &m) 8723 if err != nil { 8724 return err 8725 } 8726 for k, v := range m { 8727 switch k { 8728 case "properties": 8729 if v != nil { 8730 var SQLRoleDefinitionResource SQLRoleDefinitionResource 8731 err = json.Unmarshal(*v, &SQLRoleDefinitionResource) 8732 if err != nil { 8733 return err 8734 } 8735 srdcup.SQLRoleDefinitionResource = &SQLRoleDefinitionResource 8736 } 8737 } 8738 } 8739 8740 return nil 8741} 8742 8743// SQLRoleDefinitionGetResults an Azure Cosmos DB SQL Role Definition. 8744type SQLRoleDefinitionGetResults struct { 8745 autorest.Response `json:"-"` 8746 // SQLRoleDefinitionResource - Properties related to the Role Definition. 8747 *SQLRoleDefinitionResource `json:"properties,omitempty"` 8748 // ID - READ-ONLY; The unique resource identifier of the database account. 8749 ID *string `json:"id,omitempty"` 8750 // Name - READ-ONLY; The name of the database account. 8751 Name *string `json:"name,omitempty"` 8752 // Type - READ-ONLY; The type of Azure resource. 8753 Type *string `json:"type,omitempty"` 8754} 8755 8756// MarshalJSON is the custom marshaler for SQLRoleDefinitionGetResults. 8757func (srdgr SQLRoleDefinitionGetResults) MarshalJSON() ([]byte, error) { 8758 objectMap := make(map[string]interface{}) 8759 if srdgr.SQLRoleDefinitionResource != nil { 8760 objectMap["properties"] = srdgr.SQLRoleDefinitionResource 8761 } 8762 return json.Marshal(objectMap) 8763} 8764 8765// UnmarshalJSON is the custom unmarshaler for SQLRoleDefinitionGetResults struct. 8766func (srdgr *SQLRoleDefinitionGetResults) UnmarshalJSON(body []byte) error { 8767 var m map[string]*json.RawMessage 8768 err := json.Unmarshal(body, &m) 8769 if err != nil { 8770 return err 8771 } 8772 for k, v := range m { 8773 switch k { 8774 case "properties": 8775 if v != nil { 8776 var SQLRoleDefinitionResource SQLRoleDefinitionResource 8777 err = json.Unmarshal(*v, &SQLRoleDefinitionResource) 8778 if err != nil { 8779 return err 8780 } 8781 srdgr.SQLRoleDefinitionResource = &SQLRoleDefinitionResource 8782 } 8783 case "id": 8784 if v != nil { 8785 var ID string 8786 err = json.Unmarshal(*v, &ID) 8787 if err != nil { 8788 return err 8789 } 8790 srdgr.ID = &ID 8791 } 8792 case "name": 8793 if v != nil { 8794 var name string 8795 err = json.Unmarshal(*v, &name) 8796 if err != nil { 8797 return err 8798 } 8799 srdgr.Name = &name 8800 } 8801 case "type": 8802 if v != nil { 8803 var typeVar string 8804 err = json.Unmarshal(*v, &typeVar) 8805 if err != nil { 8806 return err 8807 } 8808 srdgr.Type = &typeVar 8809 } 8810 } 8811 } 8812 8813 return nil 8814} 8815 8816// SQLRoleDefinitionListResult the relevant Role Definitions. 8817type SQLRoleDefinitionListResult struct { 8818 autorest.Response `json:"-"` 8819 // Value - READ-ONLY; List of Role Definitions and their properties. 8820 Value *[]SQLRoleDefinitionGetResults `json:"value,omitempty"` 8821} 8822 8823// MarshalJSON is the custom marshaler for SQLRoleDefinitionListResult. 8824func (srdlr SQLRoleDefinitionListResult) MarshalJSON() ([]byte, error) { 8825 objectMap := make(map[string]interface{}) 8826 return json.Marshal(objectMap) 8827} 8828 8829// SQLRoleDefinitionResource azure Cosmos DB SQL Role Definition resource object. 8830type SQLRoleDefinitionResource struct { 8831 // RoleName - A user-friendly name for the Role Definition. Must be unique for the database account. 8832 RoleName *string `json:"roleName,omitempty"` 8833 // Type - Indicates whether the Role Definition was built-in or user created. Possible values include: 'RoleDefinitionTypeBuiltInRole', 'RoleDefinitionTypeCustomRole' 8834 Type RoleDefinitionType `json:"type,omitempty"` 8835 // AssignableScopes - A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist. 8836 AssignableScopes *[]string `json:"assignableScopes,omitempty"` 8837 // Permissions - The set of operations allowed through this Role Definition. 8838 Permissions *[]Permission `json:"permissions,omitempty"` 8839} 8840 8841// SQLStoredProcedureCreateUpdateParameters parameters to create and update Cosmos DB storedProcedure. 8842type SQLStoredProcedureCreateUpdateParameters struct { 8843 // SQLStoredProcedureCreateUpdateProperties - Properties to create and update Azure Cosmos DB storedProcedure. 8844 *SQLStoredProcedureCreateUpdateProperties `json:"properties,omitempty"` 8845 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 8846 ID *string `json:"id,omitempty"` 8847 // Name - READ-ONLY; The name of the ARM resource. 8848 Name *string `json:"name,omitempty"` 8849 // Type - READ-ONLY; The type of Azure resource. 8850 Type *string `json:"type,omitempty"` 8851 // Location - The location of the resource group to which the resource belongs. 8852 Location *string `json:"location,omitempty"` 8853 Tags map[string]*string `json:"tags"` 8854} 8855 8856// MarshalJSON is the custom marshaler for SQLStoredProcedureCreateUpdateParameters. 8857func (sspcup SQLStoredProcedureCreateUpdateParameters) MarshalJSON() ([]byte, error) { 8858 objectMap := make(map[string]interface{}) 8859 if sspcup.SQLStoredProcedureCreateUpdateProperties != nil { 8860 objectMap["properties"] = sspcup.SQLStoredProcedureCreateUpdateProperties 8861 } 8862 if sspcup.Location != nil { 8863 objectMap["location"] = sspcup.Location 8864 } 8865 if sspcup.Tags != nil { 8866 objectMap["tags"] = sspcup.Tags 8867 } 8868 return json.Marshal(objectMap) 8869} 8870 8871// UnmarshalJSON is the custom unmarshaler for SQLStoredProcedureCreateUpdateParameters struct. 8872func (sspcup *SQLStoredProcedureCreateUpdateParameters) UnmarshalJSON(body []byte) error { 8873 var m map[string]*json.RawMessage 8874 err := json.Unmarshal(body, &m) 8875 if err != nil { 8876 return err 8877 } 8878 for k, v := range m { 8879 switch k { 8880 case "properties": 8881 if v != nil { 8882 var SQLStoredProcedureCreateUpdateProperties SQLStoredProcedureCreateUpdateProperties 8883 err = json.Unmarshal(*v, &SQLStoredProcedureCreateUpdateProperties) 8884 if err != nil { 8885 return err 8886 } 8887 sspcup.SQLStoredProcedureCreateUpdateProperties = &SQLStoredProcedureCreateUpdateProperties 8888 } 8889 case "id": 8890 if v != nil { 8891 var ID string 8892 err = json.Unmarshal(*v, &ID) 8893 if err != nil { 8894 return err 8895 } 8896 sspcup.ID = &ID 8897 } 8898 case "name": 8899 if v != nil { 8900 var name string 8901 err = json.Unmarshal(*v, &name) 8902 if err != nil { 8903 return err 8904 } 8905 sspcup.Name = &name 8906 } 8907 case "type": 8908 if v != nil { 8909 var typeVar string 8910 err = json.Unmarshal(*v, &typeVar) 8911 if err != nil { 8912 return err 8913 } 8914 sspcup.Type = &typeVar 8915 } 8916 case "location": 8917 if v != nil { 8918 var location string 8919 err = json.Unmarshal(*v, &location) 8920 if err != nil { 8921 return err 8922 } 8923 sspcup.Location = &location 8924 } 8925 case "tags": 8926 if v != nil { 8927 var tags map[string]*string 8928 err = json.Unmarshal(*v, &tags) 8929 if err != nil { 8930 return err 8931 } 8932 sspcup.Tags = tags 8933 } 8934 } 8935 } 8936 8937 return nil 8938} 8939 8940// SQLStoredProcedureCreateUpdateProperties properties to create and update Azure Cosmos DB 8941// storedProcedure. 8942type SQLStoredProcedureCreateUpdateProperties struct { 8943 // Resource - The standard JSON format of a storedProcedure 8944 Resource *SQLStoredProcedureResource `json:"resource,omitempty"` 8945 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 8946 Options *CreateUpdateOptions `json:"options,omitempty"` 8947} 8948 8949// SQLStoredProcedureGetProperties the properties of an Azure Cosmos DB StoredProcedure 8950type SQLStoredProcedureGetProperties struct { 8951 Resource *SQLStoredProcedureGetPropertiesResource `json:"resource,omitempty"` 8952} 8953 8954// SQLStoredProcedureGetPropertiesResource ... 8955type SQLStoredProcedureGetPropertiesResource struct { 8956 // ID - Name of the Cosmos DB SQL storedProcedure 8957 ID *string `json:"id,omitempty"` 8958 // Body - Body of the Stored Procedure 8959 Body *string `json:"body,omitempty"` 8960 // Rid - READ-ONLY; A system generated property. A unique identifier. 8961 Rid *string `json:"_rid,omitempty"` 8962 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 8963 Ts *float64 `json:"_ts,omitempty"` 8964 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 8965 Etag *string `json:"_etag,omitempty"` 8966} 8967 8968// MarshalJSON is the custom marshaler for SQLStoredProcedureGetPropertiesResource. 8969func (sspgp SQLStoredProcedureGetPropertiesResource) MarshalJSON() ([]byte, error) { 8970 objectMap := make(map[string]interface{}) 8971 if sspgp.ID != nil { 8972 objectMap["id"] = sspgp.ID 8973 } 8974 if sspgp.Body != nil { 8975 objectMap["body"] = sspgp.Body 8976 } 8977 return json.Marshal(objectMap) 8978} 8979 8980// SQLStoredProcedureGetResults an Azure Cosmos DB storedProcedure. 8981type SQLStoredProcedureGetResults struct { 8982 autorest.Response `json:"-"` 8983 // SQLStoredProcedureGetProperties - The properties of an Azure Cosmos DB storedProcedure 8984 *SQLStoredProcedureGetProperties `json:"properties,omitempty"` 8985 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 8986 ID *string `json:"id,omitempty"` 8987 // Name - READ-ONLY; The name of the ARM resource. 8988 Name *string `json:"name,omitempty"` 8989 // Type - READ-ONLY; The type of Azure resource. 8990 Type *string `json:"type,omitempty"` 8991 // Location - The location of the resource group to which the resource belongs. 8992 Location *string `json:"location,omitempty"` 8993 Tags map[string]*string `json:"tags"` 8994} 8995 8996// MarshalJSON is the custom marshaler for SQLStoredProcedureGetResults. 8997func (sspgr SQLStoredProcedureGetResults) MarshalJSON() ([]byte, error) { 8998 objectMap := make(map[string]interface{}) 8999 if sspgr.SQLStoredProcedureGetProperties != nil { 9000 objectMap["properties"] = sspgr.SQLStoredProcedureGetProperties 9001 } 9002 if sspgr.Location != nil { 9003 objectMap["location"] = sspgr.Location 9004 } 9005 if sspgr.Tags != nil { 9006 objectMap["tags"] = sspgr.Tags 9007 } 9008 return json.Marshal(objectMap) 9009} 9010 9011// UnmarshalJSON is the custom unmarshaler for SQLStoredProcedureGetResults struct. 9012func (sspgr *SQLStoredProcedureGetResults) UnmarshalJSON(body []byte) error { 9013 var m map[string]*json.RawMessage 9014 err := json.Unmarshal(body, &m) 9015 if err != nil { 9016 return err 9017 } 9018 for k, v := range m { 9019 switch k { 9020 case "properties": 9021 if v != nil { 9022 var SQLStoredProcedureGetProperties SQLStoredProcedureGetProperties 9023 err = json.Unmarshal(*v, &SQLStoredProcedureGetProperties) 9024 if err != nil { 9025 return err 9026 } 9027 sspgr.SQLStoredProcedureGetProperties = &SQLStoredProcedureGetProperties 9028 } 9029 case "id": 9030 if v != nil { 9031 var ID string 9032 err = json.Unmarshal(*v, &ID) 9033 if err != nil { 9034 return err 9035 } 9036 sspgr.ID = &ID 9037 } 9038 case "name": 9039 if v != nil { 9040 var name string 9041 err = json.Unmarshal(*v, &name) 9042 if err != nil { 9043 return err 9044 } 9045 sspgr.Name = &name 9046 } 9047 case "type": 9048 if v != nil { 9049 var typeVar string 9050 err = json.Unmarshal(*v, &typeVar) 9051 if err != nil { 9052 return err 9053 } 9054 sspgr.Type = &typeVar 9055 } 9056 case "location": 9057 if v != nil { 9058 var location string 9059 err = json.Unmarshal(*v, &location) 9060 if err != nil { 9061 return err 9062 } 9063 sspgr.Location = &location 9064 } 9065 case "tags": 9066 if v != nil { 9067 var tags map[string]*string 9068 err = json.Unmarshal(*v, &tags) 9069 if err != nil { 9070 return err 9071 } 9072 sspgr.Tags = tags 9073 } 9074 } 9075 } 9076 9077 return nil 9078} 9079 9080// SQLStoredProcedureListResult the List operation response, that contains the storedProcedures and their 9081// properties. 9082type SQLStoredProcedureListResult struct { 9083 autorest.Response `json:"-"` 9084 // Value - READ-ONLY; List of storedProcedures and their properties. 9085 Value *[]SQLStoredProcedureGetResults `json:"value,omitempty"` 9086} 9087 9088// MarshalJSON is the custom marshaler for SQLStoredProcedureListResult. 9089func (ssplr SQLStoredProcedureListResult) MarshalJSON() ([]byte, error) { 9090 objectMap := make(map[string]interface{}) 9091 return json.Marshal(objectMap) 9092} 9093 9094// SQLStoredProcedureResource cosmos DB SQL storedProcedure resource object 9095type SQLStoredProcedureResource struct { 9096 // ID - Name of the Cosmos DB SQL storedProcedure 9097 ID *string `json:"id,omitempty"` 9098 // Body - Body of the Stored Procedure 9099 Body *string `json:"body,omitempty"` 9100} 9101 9102// SQLTriggerCreateUpdateParameters parameters to create and update Cosmos DB trigger. 9103type SQLTriggerCreateUpdateParameters struct { 9104 // SQLTriggerCreateUpdateProperties - Properties to create and update Azure Cosmos DB trigger. 9105 *SQLTriggerCreateUpdateProperties `json:"properties,omitempty"` 9106 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9107 ID *string `json:"id,omitempty"` 9108 // Name - READ-ONLY; The name of the ARM resource. 9109 Name *string `json:"name,omitempty"` 9110 // Type - READ-ONLY; The type of Azure resource. 9111 Type *string `json:"type,omitempty"` 9112 // Location - The location of the resource group to which the resource belongs. 9113 Location *string `json:"location,omitempty"` 9114 Tags map[string]*string `json:"tags"` 9115} 9116 9117// MarshalJSON is the custom marshaler for SQLTriggerCreateUpdateParameters. 9118func (stcup SQLTriggerCreateUpdateParameters) MarshalJSON() ([]byte, error) { 9119 objectMap := make(map[string]interface{}) 9120 if stcup.SQLTriggerCreateUpdateProperties != nil { 9121 objectMap["properties"] = stcup.SQLTriggerCreateUpdateProperties 9122 } 9123 if stcup.Location != nil { 9124 objectMap["location"] = stcup.Location 9125 } 9126 if stcup.Tags != nil { 9127 objectMap["tags"] = stcup.Tags 9128 } 9129 return json.Marshal(objectMap) 9130} 9131 9132// UnmarshalJSON is the custom unmarshaler for SQLTriggerCreateUpdateParameters struct. 9133func (stcup *SQLTriggerCreateUpdateParameters) UnmarshalJSON(body []byte) error { 9134 var m map[string]*json.RawMessage 9135 err := json.Unmarshal(body, &m) 9136 if err != nil { 9137 return err 9138 } 9139 for k, v := range m { 9140 switch k { 9141 case "properties": 9142 if v != nil { 9143 var SQLTriggerCreateUpdateProperties SQLTriggerCreateUpdateProperties 9144 err = json.Unmarshal(*v, &SQLTriggerCreateUpdateProperties) 9145 if err != nil { 9146 return err 9147 } 9148 stcup.SQLTriggerCreateUpdateProperties = &SQLTriggerCreateUpdateProperties 9149 } 9150 case "id": 9151 if v != nil { 9152 var ID string 9153 err = json.Unmarshal(*v, &ID) 9154 if err != nil { 9155 return err 9156 } 9157 stcup.ID = &ID 9158 } 9159 case "name": 9160 if v != nil { 9161 var name string 9162 err = json.Unmarshal(*v, &name) 9163 if err != nil { 9164 return err 9165 } 9166 stcup.Name = &name 9167 } 9168 case "type": 9169 if v != nil { 9170 var typeVar string 9171 err = json.Unmarshal(*v, &typeVar) 9172 if err != nil { 9173 return err 9174 } 9175 stcup.Type = &typeVar 9176 } 9177 case "location": 9178 if v != nil { 9179 var location string 9180 err = json.Unmarshal(*v, &location) 9181 if err != nil { 9182 return err 9183 } 9184 stcup.Location = &location 9185 } 9186 case "tags": 9187 if v != nil { 9188 var tags map[string]*string 9189 err = json.Unmarshal(*v, &tags) 9190 if err != nil { 9191 return err 9192 } 9193 stcup.Tags = tags 9194 } 9195 } 9196 } 9197 9198 return nil 9199} 9200 9201// SQLTriggerCreateUpdateProperties properties to create and update Azure Cosmos DB trigger. 9202type SQLTriggerCreateUpdateProperties struct { 9203 // Resource - The standard JSON format of a trigger 9204 Resource *SQLTriggerResource `json:"resource,omitempty"` 9205 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 9206 Options *CreateUpdateOptions `json:"options,omitempty"` 9207} 9208 9209// SQLTriggerGetProperties the properties of an Azure Cosmos DB trigger 9210type SQLTriggerGetProperties struct { 9211 Resource *SQLTriggerGetPropertiesResource `json:"resource,omitempty"` 9212} 9213 9214// SQLTriggerGetPropertiesResource ... 9215type SQLTriggerGetPropertiesResource struct { 9216 // ID - Name of the Cosmos DB SQL trigger 9217 ID *string `json:"id,omitempty"` 9218 // Body - Body of the Trigger 9219 Body *string `json:"body,omitempty"` 9220 // TriggerType - Type of the Trigger. Possible values include: 'TriggerTypePre', 'TriggerTypePost' 9221 TriggerType TriggerType `json:"triggerType,omitempty"` 9222 // TriggerOperation - The operation the trigger is associated with. Possible values include: 'TriggerOperationAll', 'TriggerOperationCreate', 'TriggerOperationUpdate', 'TriggerOperationDelete', 'TriggerOperationReplace' 9223 TriggerOperation TriggerOperation `json:"triggerOperation,omitempty"` 9224 // Rid - READ-ONLY; A system generated property. A unique identifier. 9225 Rid *string `json:"_rid,omitempty"` 9226 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 9227 Ts *float64 `json:"_ts,omitempty"` 9228 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 9229 Etag *string `json:"_etag,omitempty"` 9230} 9231 9232// MarshalJSON is the custom marshaler for SQLTriggerGetPropertiesResource. 9233func (stgp SQLTriggerGetPropertiesResource) MarshalJSON() ([]byte, error) { 9234 objectMap := make(map[string]interface{}) 9235 if stgp.ID != nil { 9236 objectMap["id"] = stgp.ID 9237 } 9238 if stgp.Body != nil { 9239 objectMap["body"] = stgp.Body 9240 } 9241 if stgp.TriggerType != "" { 9242 objectMap["triggerType"] = stgp.TriggerType 9243 } 9244 if stgp.TriggerOperation != "" { 9245 objectMap["triggerOperation"] = stgp.TriggerOperation 9246 } 9247 return json.Marshal(objectMap) 9248} 9249 9250// SQLTriggerGetResults an Azure Cosmos DB trigger. 9251type SQLTriggerGetResults struct { 9252 autorest.Response `json:"-"` 9253 // SQLTriggerGetProperties - The properties of an Azure Cosmos DB trigger 9254 *SQLTriggerGetProperties `json:"properties,omitempty"` 9255 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9256 ID *string `json:"id,omitempty"` 9257 // Name - READ-ONLY; The name of the ARM resource. 9258 Name *string `json:"name,omitempty"` 9259 // Type - READ-ONLY; The type of Azure resource. 9260 Type *string `json:"type,omitempty"` 9261 // Location - The location of the resource group to which the resource belongs. 9262 Location *string `json:"location,omitempty"` 9263 Tags map[string]*string `json:"tags"` 9264} 9265 9266// MarshalJSON is the custom marshaler for SQLTriggerGetResults. 9267func (stgr SQLTriggerGetResults) MarshalJSON() ([]byte, error) { 9268 objectMap := make(map[string]interface{}) 9269 if stgr.SQLTriggerGetProperties != nil { 9270 objectMap["properties"] = stgr.SQLTriggerGetProperties 9271 } 9272 if stgr.Location != nil { 9273 objectMap["location"] = stgr.Location 9274 } 9275 if stgr.Tags != nil { 9276 objectMap["tags"] = stgr.Tags 9277 } 9278 return json.Marshal(objectMap) 9279} 9280 9281// UnmarshalJSON is the custom unmarshaler for SQLTriggerGetResults struct. 9282func (stgr *SQLTriggerGetResults) UnmarshalJSON(body []byte) error { 9283 var m map[string]*json.RawMessage 9284 err := json.Unmarshal(body, &m) 9285 if err != nil { 9286 return err 9287 } 9288 for k, v := range m { 9289 switch k { 9290 case "properties": 9291 if v != nil { 9292 var SQLTriggerGetProperties SQLTriggerGetProperties 9293 err = json.Unmarshal(*v, &SQLTriggerGetProperties) 9294 if err != nil { 9295 return err 9296 } 9297 stgr.SQLTriggerGetProperties = &SQLTriggerGetProperties 9298 } 9299 case "id": 9300 if v != nil { 9301 var ID string 9302 err = json.Unmarshal(*v, &ID) 9303 if err != nil { 9304 return err 9305 } 9306 stgr.ID = &ID 9307 } 9308 case "name": 9309 if v != nil { 9310 var name string 9311 err = json.Unmarshal(*v, &name) 9312 if err != nil { 9313 return err 9314 } 9315 stgr.Name = &name 9316 } 9317 case "type": 9318 if v != nil { 9319 var typeVar string 9320 err = json.Unmarshal(*v, &typeVar) 9321 if err != nil { 9322 return err 9323 } 9324 stgr.Type = &typeVar 9325 } 9326 case "location": 9327 if v != nil { 9328 var location string 9329 err = json.Unmarshal(*v, &location) 9330 if err != nil { 9331 return err 9332 } 9333 stgr.Location = &location 9334 } 9335 case "tags": 9336 if v != nil { 9337 var tags map[string]*string 9338 err = json.Unmarshal(*v, &tags) 9339 if err != nil { 9340 return err 9341 } 9342 stgr.Tags = tags 9343 } 9344 } 9345 } 9346 9347 return nil 9348} 9349 9350// SQLTriggerListResult the List operation response, that contains the triggers and their properties. 9351type SQLTriggerListResult struct { 9352 autorest.Response `json:"-"` 9353 // Value - READ-ONLY; List of triggers and their properties. 9354 Value *[]SQLTriggerGetResults `json:"value,omitempty"` 9355} 9356 9357// MarshalJSON is the custom marshaler for SQLTriggerListResult. 9358func (stlr SQLTriggerListResult) MarshalJSON() ([]byte, error) { 9359 objectMap := make(map[string]interface{}) 9360 return json.Marshal(objectMap) 9361} 9362 9363// SQLTriggerResource cosmos DB SQL trigger resource object 9364type SQLTriggerResource struct { 9365 // ID - Name of the Cosmos DB SQL trigger 9366 ID *string `json:"id,omitempty"` 9367 // Body - Body of the Trigger 9368 Body *string `json:"body,omitempty"` 9369 // TriggerType - Type of the Trigger. Possible values include: 'TriggerTypePre', 'TriggerTypePost' 9370 TriggerType TriggerType `json:"triggerType,omitempty"` 9371 // TriggerOperation - The operation the trigger is associated with. Possible values include: 'TriggerOperationAll', 'TriggerOperationCreate', 'TriggerOperationUpdate', 'TriggerOperationDelete', 'TriggerOperationReplace' 9372 TriggerOperation TriggerOperation `json:"triggerOperation,omitempty"` 9373} 9374 9375// SQLUserDefinedFunctionCreateUpdateParameters parameters to create and update Cosmos DB 9376// userDefinedFunction. 9377type SQLUserDefinedFunctionCreateUpdateParameters struct { 9378 // SQLUserDefinedFunctionCreateUpdateProperties - Properties to create and update Azure Cosmos DB userDefinedFunction. 9379 *SQLUserDefinedFunctionCreateUpdateProperties `json:"properties,omitempty"` 9380 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9381 ID *string `json:"id,omitempty"` 9382 // Name - READ-ONLY; The name of the ARM resource. 9383 Name *string `json:"name,omitempty"` 9384 // Type - READ-ONLY; The type of Azure resource. 9385 Type *string `json:"type,omitempty"` 9386 // Location - The location of the resource group to which the resource belongs. 9387 Location *string `json:"location,omitempty"` 9388 Tags map[string]*string `json:"tags"` 9389} 9390 9391// MarshalJSON is the custom marshaler for SQLUserDefinedFunctionCreateUpdateParameters. 9392func (sudfcup SQLUserDefinedFunctionCreateUpdateParameters) MarshalJSON() ([]byte, error) { 9393 objectMap := make(map[string]interface{}) 9394 if sudfcup.SQLUserDefinedFunctionCreateUpdateProperties != nil { 9395 objectMap["properties"] = sudfcup.SQLUserDefinedFunctionCreateUpdateProperties 9396 } 9397 if sudfcup.Location != nil { 9398 objectMap["location"] = sudfcup.Location 9399 } 9400 if sudfcup.Tags != nil { 9401 objectMap["tags"] = sudfcup.Tags 9402 } 9403 return json.Marshal(objectMap) 9404} 9405 9406// UnmarshalJSON is the custom unmarshaler for SQLUserDefinedFunctionCreateUpdateParameters struct. 9407func (sudfcup *SQLUserDefinedFunctionCreateUpdateParameters) UnmarshalJSON(body []byte) error { 9408 var m map[string]*json.RawMessage 9409 err := json.Unmarshal(body, &m) 9410 if err != nil { 9411 return err 9412 } 9413 for k, v := range m { 9414 switch k { 9415 case "properties": 9416 if v != nil { 9417 var SQLUserDefinedFunctionCreateUpdateProperties SQLUserDefinedFunctionCreateUpdateProperties 9418 err = json.Unmarshal(*v, &SQLUserDefinedFunctionCreateUpdateProperties) 9419 if err != nil { 9420 return err 9421 } 9422 sudfcup.SQLUserDefinedFunctionCreateUpdateProperties = &SQLUserDefinedFunctionCreateUpdateProperties 9423 } 9424 case "id": 9425 if v != nil { 9426 var ID string 9427 err = json.Unmarshal(*v, &ID) 9428 if err != nil { 9429 return err 9430 } 9431 sudfcup.ID = &ID 9432 } 9433 case "name": 9434 if v != nil { 9435 var name string 9436 err = json.Unmarshal(*v, &name) 9437 if err != nil { 9438 return err 9439 } 9440 sudfcup.Name = &name 9441 } 9442 case "type": 9443 if v != nil { 9444 var typeVar string 9445 err = json.Unmarshal(*v, &typeVar) 9446 if err != nil { 9447 return err 9448 } 9449 sudfcup.Type = &typeVar 9450 } 9451 case "location": 9452 if v != nil { 9453 var location string 9454 err = json.Unmarshal(*v, &location) 9455 if err != nil { 9456 return err 9457 } 9458 sudfcup.Location = &location 9459 } 9460 case "tags": 9461 if v != nil { 9462 var tags map[string]*string 9463 err = json.Unmarshal(*v, &tags) 9464 if err != nil { 9465 return err 9466 } 9467 sudfcup.Tags = tags 9468 } 9469 } 9470 } 9471 9472 return nil 9473} 9474 9475// SQLUserDefinedFunctionCreateUpdateProperties properties to create and update Azure Cosmos DB 9476// userDefinedFunction. 9477type SQLUserDefinedFunctionCreateUpdateProperties struct { 9478 // Resource - The standard JSON format of a userDefinedFunction 9479 Resource *SQLUserDefinedFunctionResource `json:"resource,omitempty"` 9480 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 9481 Options *CreateUpdateOptions `json:"options,omitempty"` 9482} 9483 9484// SQLUserDefinedFunctionGetProperties the properties of an Azure Cosmos DB userDefinedFunction 9485type SQLUserDefinedFunctionGetProperties struct { 9486 Resource *SQLUserDefinedFunctionGetPropertiesResource `json:"resource,omitempty"` 9487} 9488 9489// SQLUserDefinedFunctionGetPropertiesResource ... 9490type SQLUserDefinedFunctionGetPropertiesResource struct { 9491 // ID - Name of the Cosmos DB SQL userDefinedFunction 9492 ID *string `json:"id,omitempty"` 9493 // Body - Body of the User Defined Function 9494 Body *string `json:"body,omitempty"` 9495 // Rid - READ-ONLY; A system generated property. A unique identifier. 9496 Rid *string `json:"_rid,omitempty"` 9497 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 9498 Ts *float64 `json:"_ts,omitempty"` 9499 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 9500 Etag *string `json:"_etag,omitempty"` 9501} 9502 9503// MarshalJSON is the custom marshaler for SQLUserDefinedFunctionGetPropertiesResource. 9504func (sudfgp SQLUserDefinedFunctionGetPropertiesResource) MarshalJSON() ([]byte, error) { 9505 objectMap := make(map[string]interface{}) 9506 if sudfgp.ID != nil { 9507 objectMap["id"] = sudfgp.ID 9508 } 9509 if sudfgp.Body != nil { 9510 objectMap["body"] = sudfgp.Body 9511 } 9512 return json.Marshal(objectMap) 9513} 9514 9515// SQLUserDefinedFunctionGetResults an Azure Cosmos DB userDefinedFunction. 9516type SQLUserDefinedFunctionGetResults struct { 9517 autorest.Response `json:"-"` 9518 // SQLUserDefinedFunctionGetProperties - The properties of an Azure Cosmos DB userDefinedFunction 9519 *SQLUserDefinedFunctionGetProperties `json:"properties,omitempty"` 9520 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9521 ID *string `json:"id,omitempty"` 9522 // Name - READ-ONLY; The name of the ARM resource. 9523 Name *string `json:"name,omitempty"` 9524 // Type - READ-ONLY; The type of Azure resource. 9525 Type *string `json:"type,omitempty"` 9526 // Location - The location of the resource group to which the resource belongs. 9527 Location *string `json:"location,omitempty"` 9528 Tags map[string]*string `json:"tags"` 9529} 9530 9531// MarshalJSON is the custom marshaler for SQLUserDefinedFunctionGetResults. 9532func (sudfgr SQLUserDefinedFunctionGetResults) MarshalJSON() ([]byte, error) { 9533 objectMap := make(map[string]interface{}) 9534 if sudfgr.SQLUserDefinedFunctionGetProperties != nil { 9535 objectMap["properties"] = sudfgr.SQLUserDefinedFunctionGetProperties 9536 } 9537 if sudfgr.Location != nil { 9538 objectMap["location"] = sudfgr.Location 9539 } 9540 if sudfgr.Tags != nil { 9541 objectMap["tags"] = sudfgr.Tags 9542 } 9543 return json.Marshal(objectMap) 9544} 9545 9546// UnmarshalJSON is the custom unmarshaler for SQLUserDefinedFunctionGetResults struct. 9547func (sudfgr *SQLUserDefinedFunctionGetResults) UnmarshalJSON(body []byte) error { 9548 var m map[string]*json.RawMessage 9549 err := json.Unmarshal(body, &m) 9550 if err != nil { 9551 return err 9552 } 9553 for k, v := range m { 9554 switch k { 9555 case "properties": 9556 if v != nil { 9557 var SQLUserDefinedFunctionGetProperties SQLUserDefinedFunctionGetProperties 9558 err = json.Unmarshal(*v, &SQLUserDefinedFunctionGetProperties) 9559 if err != nil { 9560 return err 9561 } 9562 sudfgr.SQLUserDefinedFunctionGetProperties = &SQLUserDefinedFunctionGetProperties 9563 } 9564 case "id": 9565 if v != nil { 9566 var ID string 9567 err = json.Unmarshal(*v, &ID) 9568 if err != nil { 9569 return err 9570 } 9571 sudfgr.ID = &ID 9572 } 9573 case "name": 9574 if v != nil { 9575 var name string 9576 err = json.Unmarshal(*v, &name) 9577 if err != nil { 9578 return err 9579 } 9580 sudfgr.Name = &name 9581 } 9582 case "type": 9583 if v != nil { 9584 var typeVar string 9585 err = json.Unmarshal(*v, &typeVar) 9586 if err != nil { 9587 return err 9588 } 9589 sudfgr.Type = &typeVar 9590 } 9591 case "location": 9592 if v != nil { 9593 var location string 9594 err = json.Unmarshal(*v, &location) 9595 if err != nil { 9596 return err 9597 } 9598 sudfgr.Location = &location 9599 } 9600 case "tags": 9601 if v != nil { 9602 var tags map[string]*string 9603 err = json.Unmarshal(*v, &tags) 9604 if err != nil { 9605 return err 9606 } 9607 sudfgr.Tags = tags 9608 } 9609 } 9610 } 9611 9612 return nil 9613} 9614 9615// SQLUserDefinedFunctionListResult the List operation response, that contains the userDefinedFunctions and 9616// their properties. 9617type SQLUserDefinedFunctionListResult struct { 9618 autorest.Response `json:"-"` 9619 // Value - READ-ONLY; List of userDefinedFunctions and their properties. 9620 Value *[]SQLUserDefinedFunctionGetResults `json:"value,omitempty"` 9621} 9622 9623// MarshalJSON is the custom marshaler for SQLUserDefinedFunctionListResult. 9624func (sudflr SQLUserDefinedFunctionListResult) MarshalJSON() ([]byte, error) { 9625 objectMap := make(map[string]interface{}) 9626 return json.Marshal(objectMap) 9627} 9628 9629// SQLUserDefinedFunctionResource cosmos DB SQL userDefinedFunction resource object 9630type SQLUserDefinedFunctionResource struct { 9631 // ID - Name of the Cosmos DB SQL userDefinedFunction 9632 ID *string `json:"id,omitempty"` 9633 // Body - Body of the User Defined Function 9634 Body *string `json:"body,omitempty"` 9635} 9636 9637// SystemData metadata pertaining to creation and last modification of the resource. 9638type SystemData struct { 9639 // CreatedBy - The identity that created the resource. 9640 CreatedBy *string `json:"createdBy,omitempty"` 9641 // CreatedByType - The type of identity that created the resource. Possible values include: 'CreatedByTypeUser', 'CreatedByTypeApplication', 'CreatedByTypeManagedIdentity', 'CreatedByTypeKey' 9642 CreatedByType CreatedByType `json:"createdByType,omitempty"` 9643 // CreatedAt - The timestamp of resource creation (UTC). 9644 CreatedAt *date.Time `json:"createdAt,omitempty"` 9645 // LastModifiedBy - The identity that last modified the resource. 9646 LastModifiedBy *string `json:"lastModifiedBy,omitempty"` 9647 // LastModifiedByType - The type of identity that last modified the resource. Possible values include: 'CreatedByTypeUser', 'CreatedByTypeApplication', 'CreatedByTypeManagedIdentity', 'CreatedByTypeKey' 9648 LastModifiedByType CreatedByType `json:"lastModifiedByType,omitempty"` 9649 // LastModifiedAt - The timestamp of resource last modification (UTC) 9650 LastModifiedAt *date.Time `json:"lastModifiedAt,omitempty"` 9651} 9652 9653// TableCreateUpdateParameters parameters to create and update Cosmos DB Table. 9654type TableCreateUpdateParameters struct { 9655 // TableCreateUpdateProperties - Properties to create and update Azure Cosmos DB Table. 9656 *TableCreateUpdateProperties `json:"properties,omitempty"` 9657 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9658 ID *string `json:"id,omitempty"` 9659 // Name - READ-ONLY; The name of the ARM resource. 9660 Name *string `json:"name,omitempty"` 9661 // Type - READ-ONLY; The type of Azure resource. 9662 Type *string `json:"type,omitempty"` 9663 // Location - The location of the resource group to which the resource belongs. 9664 Location *string `json:"location,omitempty"` 9665 Tags map[string]*string `json:"tags"` 9666} 9667 9668// MarshalJSON is the custom marshaler for TableCreateUpdateParameters. 9669func (tcup TableCreateUpdateParameters) MarshalJSON() ([]byte, error) { 9670 objectMap := make(map[string]interface{}) 9671 if tcup.TableCreateUpdateProperties != nil { 9672 objectMap["properties"] = tcup.TableCreateUpdateProperties 9673 } 9674 if tcup.Location != nil { 9675 objectMap["location"] = tcup.Location 9676 } 9677 if tcup.Tags != nil { 9678 objectMap["tags"] = tcup.Tags 9679 } 9680 return json.Marshal(objectMap) 9681} 9682 9683// UnmarshalJSON is the custom unmarshaler for TableCreateUpdateParameters struct. 9684func (tcup *TableCreateUpdateParameters) UnmarshalJSON(body []byte) error { 9685 var m map[string]*json.RawMessage 9686 err := json.Unmarshal(body, &m) 9687 if err != nil { 9688 return err 9689 } 9690 for k, v := range m { 9691 switch k { 9692 case "properties": 9693 if v != nil { 9694 var tableCreateUpdateProperties TableCreateUpdateProperties 9695 err = json.Unmarshal(*v, &tableCreateUpdateProperties) 9696 if err != nil { 9697 return err 9698 } 9699 tcup.TableCreateUpdateProperties = &tableCreateUpdateProperties 9700 } 9701 case "id": 9702 if v != nil { 9703 var ID string 9704 err = json.Unmarshal(*v, &ID) 9705 if err != nil { 9706 return err 9707 } 9708 tcup.ID = &ID 9709 } 9710 case "name": 9711 if v != nil { 9712 var name string 9713 err = json.Unmarshal(*v, &name) 9714 if err != nil { 9715 return err 9716 } 9717 tcup.Name = &name 9718 } 9719 case "type": 9720 if v != nil { 9721 var typeVar string 9722 err = json.Unmarshal(*v, &typeVar) 9723 if err != nil { 9724 return err 9725 } 9726 tcup.Type = &typeVar 9727 } 9728 case "location": 9729 if v != nil { 9730 var location string 9731 err = json.Unmarshal(*v, &location) 9732 if err != nil { 9733 return err 9734 } 9735 tcup.Location = &location 9736 } 9737 case "tags": 9738 if v != nil { 9739 var tags map[string]*string 9740 err = json.Unmarshal(*v, &tags) 9741 if err != nil { 9742 return err 9743 } 9744 tcup.Tags = tags 9745 } 9746 } 9747 } 9748 9749 return nil 9750} 9751 9752// TableCreateUpdateProperties properties to create and update Azure Cosmos DB Table. 9753type TableCreateUpdateProperties struct { 9754 // Resource - The standard JSON format of a Table 9755 Resource *TableResource `json:"resource,omitempty"` 9756 // Options - A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. 9757 Options *CreateUpdateOptions `json:"options,omitempty"` 9758} 9759 9760// TableGetProperties the properties of an Azure Cosmos Table 9761type TableGetProperties struct { 9762 Resource *TableGetPropertiesResource `json:"resource,omitempty"` 9763 Options *TableGetPropertiesOptions `json:"options,omitempty"` 9764} 9765 9766// TableGetPropertiesOptions ... 9767type TableGetPropertiesOptions struct { 9768 // Throughput - Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. 9769 Throughput *int32 `json:"throughput,omitempty"` 9770 // AutoscaleSettings - Specifies the Autoscale settings. 9771 AutoscaleSettings *AutoscaleSettings `json:"autoscaleSettings,omitempty"` 9772} 9773 9774// TableGetPropertiesResource ... 9775type TableGetPropertiesResource struct { 9776 // ID - Name of the Cosmos DB table 9777 ID *string `json:"id,omitempty"` 9778 // Rid - READ-ONLY; A system generated property. A unique identifier. 9779 Rid *string `json:"_rid,omitempty"` 9780 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 9781 Ts *float64 `json:"_ts,omitempty"` 9782 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 9783 Etag *string `json:"_etag,omitempty"` 9784} 9785 9786// MarshalJSON is the custom marshaler for TableGetPropertiesResource. 9787func (tgp TableGetPropertiesResource) MarshalJSON() ([]byte, error) { 9788 objectMap := make(map[string]interface{}) 9789 if tgp.ID != nil { 9790 objectMap["id"] = tgp.ID 9791 } 9792 return json.Marshal(objectMap) 9793} 9794 9795// TableGetResults an Azure Cosmos DB Table. 9796type TableGetResults struct { 9797 autorest.Response `json:"-"` 9798 // TableGetProperties - The properties of an Azure Cosmos DB Table 9799 *TableGetProperties `json:"properties,omitempty"` 9800 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 9801 ID *string `json:"id,omitempty"` 9802 // Name - READ-ONLY; The name of the ARM resource. 9803 Name *string `json:"name,omitempty"` 9804 // Type - READ-ONLY; The type of Azure resource. 9805 Type *string `json:"type,omitempty"` 9806 // Location - The location of the resource group to which the resource belongs. 9807 Location *string `json:"location,omitempty"` 9808 Tags map[string]*string `json:"tags"` 9809} 9810 9811// MarshalJSON is the custom marshaler for TableGetResults. 9812func (tgr TableGetResults) MarshalJSON() ([]byte, error) { 9813 objectMap := make(map[string]interface{}) 9814 if tgr.TableGetProperties != nil { 9815 objectMap["properties"] = tgr.TableGetProperties 9816 } 9817 if tgr.Location != nil { 9818 objectMap["location"] = tgr.Location 9819 } 9820 if tgr.Tags != nil { 9821 objectMap["tags"] = tgr.Tags 9822 } 9823 return json.Marshal(objectMap) 9824} 9825 9826// UnmarshalJSON is the custom unmarshaler for TableGetResults struct. 9827func (tgr *TableGetResults) UnmarshalJSON(body []byte) error { 9828 var m map[string]*json.RawMessage 9829 err := json.Unmarshal(body, &m) 9830 if err != nil { 9831 return err 9832 } 9833 for k, v := range m { 9834 switch k { 9835 case "properties": 9836 if v != nil { 9837 var tableGetProperties TableGetProperties 9838 err = json.Unmarshal(*v, &tableGetProperties) 9839 if err != nil { 9840 return err 9841 } 9842 tgr.TableGetProperties = &tableGetProperties 9843 } 9844 case "id": 9845 if v != nil { 9846 var ID string 9847 err = json.Unmarshal(*v, &ID) 9848 if err != nil { 9849 return err 9850 } 9851 tgr.ID = &ID 9852 } 9853 case "name": 9854 if v != nil { 9855 var name string 9856 err = json.Unmarshal(*v, &name) 9857 if err != nil { 9858 return err 9859 } 9860 tgr.Name = &name 9861 } 9862 case "type": 9863 if v != nil { 9864 var typeVar string 9865 err = json.Unmarshal(*v, &typeVar) 9866 if err != nil { 9867 return err 9868 } 9869 tgr.Type = &typeVar 9870 } 9871 case "location": 9872 if v != nil { 9873 var location string 9874 err = json.Unmarshal(*v, &location) 9875 if err != nil { 9876 return err 9877 } 9878 tgr.Location = &location 9879 } 9880 case "tags": 9881 if v != nil { 9882 var tags map[string]*string 9883 err = json.Unmarshal(*v, &tags) 9884 if err != nil { 9885 return err 9886 } 9887 tgr.Tags = tags 9888 } 9889 } 9890 } 9891 9892 return nil 9893} 9894 9895// TableListResult the List operation response, that contains the Table and their properties. 9896type TableListResult struct { 9897 autorest.Response `json:"-"` 9898 // Value - READ-ONLY; List of Table and their properties. 9899 Value *[]TableGetResults `json:"value,omitempty"` 9900} 9901 9902// MarshalJSON is the custom marshaler for TableListResult. 9903func (tlr TableListResult) MarshalJSON() ([]byte, error) { 9904 objectMap := make(map[string]interface{}) 9905 return json.Marshal(objectMap) 9906} 9907 9908// TableResource cosmos DB table resource object 9909type TableResource struct { 9910 // ID - Name of the Cosmos DB table 9911 ID *string `json:"id,omitempty"` 9912} 9913 9914// TableResourcesCreateUpdateTableFuture an abstraction for monitoring and retrieving the results of a 9915// long-running operation. 9916type TableResourcesCreateUpdateTableFuture struct { 9917 azure.FutureAPI 9918 // Result returns the result of the asynchronous operation. 9919 // If the operation has not completed it will return an error. 9920 Result func(TableResourcesClient) (TableGetResults, error) 9921} 9922 9923// UnmarshalJSON is the custom unmarshaller for CreateFuture. 9924func (future *TableResourcesCreateUpdateTableFuture) UnmarshalJSON(body []byte) error { 9925 var azFuture azure.Future 9926 if err := json.Unmarshal(body, &azFuture); err != nil { 9927 return err 9928 } 9929 future.FutureAPI = &azFuture 9930 future.Result = future.result 9931 return nil 9932} 9933 9934// result is the default implementation for TableResourcesCreateUpdateTableFuture.Result. 9935func (future *TableResourcesCreateUpdateTableFuture) result(client TableResourcesClient) (tgr TableGetResults, err error) { 9936 var done bool 9937 done, err = future.DoneWithContext(context.Background(), client) 9938 if err != nil { 9939 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesCreateUpdateTableFuture", "Result", future.Response(), "Polling failure") 9940 return 9941 } 9942 if !done { 9943 tgr.Response.Response = future.Response() 9944 err = azure.NewAsyncOpIncompleteError("documentdb.TableResourcesCreateUpdateTableFuture") 9945 return 9946 } 9947 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 9948 if tgr.Response.Response, err = future.GetResult(sender); err == nil && tgr.Response.Response.StatusCode != http.StatusNoContent { 9949 tgr, err = client.CreateUpdateTableResponder(tgr.Response.Response) 9950 if err != nil { 9951 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesCreateUpdateTableFuture", "Result", tgr.Response.Response, "Failure responding to request") 9952 } 9953 } 9954 return 9955} 9956 9957// TableResourcesDeleteTableFuture an abstraction for monitoring and retrieving the results of a 9958// long-running operation. 9959type TableResourcesDeleteTableFuture struct { 9960 azure.FutureAPI 9961 // Result returns the result of the asynchronous operation. 9962 // If the operation has not completed it will return an error. 9963 Result func(TableResourcesClient) (autorest.Response, error) 9964} 9965 9966// UnmarshalJSON is the custom unmarshaller for CreateFuture. 9967func (future *TableResourcesDeleteTableFuture) UnmarshalJSON(body []byte) error { 9968 var azFuture azure.Future 9969 if err := json.Unmarshal(body, &azFuture); err != nil { 9970 return err 9971 } 9972 future.FutureAPI = &azFuture 9973 future.Result = future.result 9974 return nil 9975} 9976 9977// result is the default implementation for TableResourcesDeleteTableFuture.Result. 9978func (future *TableResourcesDeleteTableFuture) result(client TableResourcesClient) (ar autorest.Response, err error) { 9979 var done bool 9980 done, err = future.DoneWithContext(context.Background(), client) 9981 if err != nil { 9982 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesDeleteTableFuture", "Result", future.Response(), "Polling failure") 9983 return 9984 } 9985 if !done { 9986 ar.Response = future.Response() 9987 err = azure.NewAsyncOpIncompleteError("documentdb.TableResourcesDeleteTableFuture") 9988 return 9989 } 9990 ar.Response = future.Response() 9991 return 9992} 9993 9994// TableResourcesMigrateTableToAutoscaleFuture an abstraction for monitoring and retrieving the results of 9995// a long-running operation. 9996type TableResourcesMigrateTableToAutoscaleFuture struct { 9997 azure.FutureAPI 9998 // Result returns the result of the asynchronous operation. 9999 // If the operation has not completed it will return an error. 10000 Result func(TableResourcesClient) (ThroughputSettingsGetResults, error) 10001} 10002 10003// UnmarshalJSON is the custom unmarshaller for CreateFuture. 10004func (future *TableResourcesMigrateTableToAutoscaleFuture) UnmarshalJSON(body []byte) error { 10005 var azFuture azure.Future 10006 if err := json.Unmarshal(body, &azFuture); err != nil { 10007 return err 10008 } 10009 future.FutureAPI = &azFuture 10010 future.Result = future.result 10011 return nil 10012} 10013 10014// result is the default implementation for TableResourcesMigrateTableToAutoscaleFuture.Result. 10015func (future *TableResourcesMigrateTableToAutoscaleFuture) result(client TableResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 10016 var done bool 10017 done, err = future.DoneWithContext(context.Background(), client) 10018 if err != nil { 10019 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesMigrateTableToAutoscaleFuture", "Result", future.Response(), "Polling failure") 10020 return 10021 } 10022 if !done { 10023 tsgr.Response.Response = future.Response() 10024 err = azure.NewAsyncOpIncompleteError("documentdb.TableResourcesMigrateTableToAutoscaleFuture") 10025 return 10026 } 10027 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 10028 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 10029 tsgr, err = client.MigrateTableToAutoscaleResponder(tsgr.Response.Response) 10030 if err != nil { 10031 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesMigrateTableToAutoscaleFuture", "Result", tsgr.Response.Response, "Failure responding to request") 10032 } 10033 } 10034 return 10035} 10036 10037// TableResourcesMigrateTableToManualThroughputFuture an abstraction for monitoring and retrieving the 10038// results of a long-running operation. 10039type TableResourcesMigrateTableToManualThroughputFuture struct { 10040 azure.FutureAPI 10041 // Result returns the result of the asynchronous operation. 10042 // If the operation has not completed it will return an error. 10043 Result func(TableResourcesClient) (ThroughputSettingsGetResults, error) 10044} 10045 10046// UnmarshalJSON is the custom unmarshaller for CreateFuture. 10047func (future *TableResourcesMigrateTableToManualThroughputFuture) UnmarshalJSON(body []byte) error { 10048 var azFuture azure.Future 10049 if err := json.Unmarshal(body, &azFuture); err != nil { 10050 return err 10051 } 10052 future.FutureAPI = &azFuture 10053 future.Result = future.result 10054 return nil 10055} 10056 10057// result is the default implementation for TableResourcesMigrateTableToManualThroughputFuture.Result. 10058func (future *TableResourcesMigrateTableToManualThroughputFuture) result(client TableResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 10059 var done bool 10060 done, err = future.DoneWithContext(context.Background(), client) 10061 if err != nil { 10062 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesMigrateTableToManualThroughputFuture", "Result", future.Response(), "Polling failure") 10063 return 10064 } 10065 if !done { 10066 tsgr.Response.Response = future.Response() 10067 err = azure.NewAsyncOpIncompleteError("documentdb.TableResourcesMigrateTableToManualThroughputFuture") 10068 return 10069 } 10070 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 10071 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 10072 tsgr, err = client.MigrateTableToManualThroughputResponder(tsgr.Response.Response) 10073 if err != nil { 10074 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesMigrateTableToManualThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 10075 } 10076 } 10077 return 10078} 10079 10080// TableResourcesUpdateTableThroughputFuture an abstraction for monitoring and retrieving the results of a 10081// long-running operation. 10082type TableResourcesUpdateTableThroughputFuture struct { 10083 azure.FutureAPI 10084 // Result returns the result of the asynchronous operation. 10085 // If the operation has not completed it will return an error. 10086 Result func(TableResourcesClient) (ThroughputSettingsGetResults, error) 10087} 10088 10089// UnmarshalJSON is the custom unmarshaller for CreateFuture. 10090func (future *TableResourcesUpdateTableThroughputFuture) UnmarshalJSON(body []byte) error { 10091 var azFuture azure.Future 10092 if err := json.Unmarshal(body, &azFuture); err != nil { 10093 return err 10094 } 10095 future.FutureAPI = &azFuture 10096 future.Result = future.result 10097 return nil 10098} 10099 10100// result is the default implementation for TableResourcesUpdateTableThroughputFuture.Result. 10101func (future *TableResourcesUpdateTableThroughputFuture) result(client TableResourcesClient) (tsgr ThroughputSettingsGetResults, err error) { 10102 var done bool 10103 done, err = future.DoneWithContext(context.Background(), client) 10104 if err != nil { 10105 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesUpdateTableThroughputFuture", "Result", future.Response(), "Polling failure") 10106 return 10107 } 10108 if !done { 10109 tsgr.Response.Response = future.Response() 10110 err = azure.NewAsyncOpIncompleteError("documentdb.TableResourcesUpdateTableThroughputFuture") 10111 return 10112 } 10113 sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) 10114 if tsgr.Response.Response, err = future.GetResult(sender); err == nil && tsgr.Response.Response.StatusCode != http.StatusNoContent { 10115 tsgr, err = client.UpdateTableThroughputResponder(tsgr.Response.Response) 10116 if err != nil { 10117 err = autorest.NewErrorWithError(err, "documentdb.TableResourcesUpdateTableThroughputFuture", "Result", tsgr.Response.Response, "Failure responding to request") 10118 } 10119 } 10120 return 10121} 10122 10123// ThroughputPolicyResource cosmos DB resource throughput policy 10124type ThroughputPolicyResource struct { 10125 // IsEnabled - Determines whether the ThroughputPolicy is active or not 10126 IsEnabled *bool `json:"isEnabled,omitempty"` 10127 // IncrementPercent - Represents the percentage by which throughput can increase every time throughput policy kicks in. 10128 IncrementPercent *int32 `json:"incrementPercent,omitempty"` 10129} 10130 10131// ThroughputSettingsGetProperties the properties of an Azure Cosmos DB resource throughput 10132type ThroughputSettingsGetProperties struct { 10133 Resource *ThroughputSettingsGetPropertiesResource `json:"resource,omitempty"` 10134} 10135 10136// ThroughputSettingsGetPropertiesResource ... 10137type ThroughputSettingsGetPropertiesResource struct { 10138 // Throughput - Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both. 10139 Throughput *int32 `json:"throughput,omitempty"` 10140 // AutoscaleSettings - Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both. 10141 AutoscaleSettings *AutoscaleSettingsResource `json:"autoscaleSettings,omitempty"` 10142 // MinimumThroughput - READ-ONLY; The minimum throughput of the resource 10143 MinimumThroughput *string `json:"minimumThroughput,omitempty"` 10144 // OfferReplacePending - READ-ONLY; The throughput replace is pending 10145 OfferReplacePending *string `json:"offerReplacePending,omitempty"` 10146 // Rid - READ-ONLY; A system generated property. A unique identifier. 10147 Rid *string `json:"_rid,omitempty"` 10148 // Ts - READ-ONLY; A system generated property that denotes the last updated timestamp of the resource. 10149 Ts *float64 `json:"_ts,omitempty"` 10150 // Etag - READ-ONLY; A system generated property representing the resource etag required for optimistic concurrency control. 10151 Etag *string `json:"_etag,omitempty"` 10152} 10153 10154// MarshalJSON is the custom marshaler for ThroughputSettingsGetPropertiesResource. 10155func (tsgp ThroughputSettingsGetPropertiesResource) MarshalJSON() ([]byte, error) { 10156 objectMap := make(map[string]interface{}) 10157 if tsgp.Throughput != nil { 10158 objectMap["throughput"] = tsgp.Throughput 10159 } 10160 if tsgp.AutoscaleSettings != nil { 10161 objectMap["autoscaleSettings"] = tsgp.AutoscaleSettings 10162 } 10163 return json.Marshal(objectMap) 10164} 10165 10166// ThroughputSettingsGetResults an Azure Cosmos DB resource throughput. 10167type ThroughputSettingsGetResults struct { 10168 autorest.Response `json:"-"` 10169 // ThroughputSettingsGetProperties - The properties of an Azure Cosmos DB resource throughput 10170 *ThroughputSettingsGetProperties `json:"properties,omitempty"` 10171 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 10172 ID *string `json:"id,omitempty"` 10173 // Name - READ-ONLY; The name of the ARM resource. 10174 Name *string `json:"name,omitempty"` 10175 // Type - READ-ONLY; The type of Azure resource. 10176 Type *string `json:"type,omitempty"` 10177 // Location - The location of the resource group to which the resource belongs. 10178 Location *string `json:"location,omitempty"` 10179 Tags map[string]*string `json:"tags"` 10180} 10181 10182// MarshalJSON is the custom marshaler for ThroughputSettingsGetResults. 10183func (tsgr ThroughputSettingsGetResults) MarshalJSON() ([]byte, error) { 10184 objectMap := make(map[string]interface{}) 10185 if tsgr.ThroughputSettingsGetProperties != nil { 10186 objectMap["properties"] = tsgr.ThroughputSettingsGetProperties 10187 } 10188 if tsgr.Location != nil { 10189 objectMap["location"] = tsgr.Location 10190 } 10191 if tsgr.Tags != nil { 10192 objectMap["tags"] = tsgr.Tags 10193 } 10194 return json.Marshal(objectMap) 10195} 10196 10197// UnmarshalJSON is the custom unmarshaler for ThroughputSettingsGetResults struct. 10198func (tsgr *ThroughputSettingsGetResults) UnmarshalJSON(body []byte) error { 10199 var m map[string]*json.RawMessage 10200 err := json.Unmarshal(body, &m) 10201 if err != nil { 10202 return err 10203 } 10204 for k, v := range m { 10205 switch k { 10206 case "properties": 10207 if v != nil { 10208 var throughputSettingsGetProperties ThroughputSettingsGetProperties 10209 err = json.Unmarshal(*v, &throughputSettingsGetProperties) 10210 if err != nil { 10211 return err 10212 } 10213 tsgr.ThroughputSettingsGetProperties = &throughputSettingsGetProperties 10214 } 10215 case "id": 10216 if v != nil { 10217 var ID string 10218 err = json.Unmarshal(*v, &ID) 10219 if err != nil { 10220 return err 10221 } 10222 tsgr.ID = &ID 10223 } 10224 case "name": 10225 if v != nil { 10226 var name string 10227 err = json.Unmarshal(*v, &name) 10228 if err != nil { 10229 return err 10230 } 10231 tsgr.Name = &name 10232 } 10233 case "type": 10234 if v != nil { 10235 var typeVar string 10236 err = json.Unmarshal(*v, &typeVar) 10237 if err != nil { 10238 return err 10239 } 10240 tsgr.Type = &typeVar 10241 } 10242 case "location": 10243 if v != nil { 10244 var location string 10245 err = json.Unmarshal(*v, &location) 10246 if err != nil { 10247 return err 10248 } 10249 tsgr.Location = &location 10250 } 10251 case "tags": 10252 if v != nil { 10253 var tags map[string]*string 10254 err = json.Unmarshal(*v, &tags) 10255 if err != nil { 10256 return err 10257 } 10258 tsgr.Tags = tags 10259 } 10260 } 10261 } 10262 10263 return nil 10264} 10265 10266// ThroughputSettingsResource cosmos DB resource throughput object. Either throughput is required or 10267// autoscaleSettings is required, but not both. 10268type ThroughputSettingsResource struct { 10269 // Throughput - Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both. 10270 Throughput *int32 `json:"throughput,omitempty"` 10271 // AutoscaleSettings - Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both. 10272 AutoscaleSettings *AutoscaleSettingsResource `json:"autoscaleSettings,omitempty"` 10273 // MinimumThroughput - READ-ONLY; The minimum throughput of the resource 10274 MinimumThroughput *string `json:"minimumThroughput,omitempty"` 10275 // OfferReplacePending - READ-ONLY; The throughput replace is pending 10276 OfferReplacePending *string `json:"offerReplacePending,omitempty"` 10277} 10278 10279// MarshalJSON is the custom marshaler for ThroughputSettingsResource. 10280func (tsr ThroughputSettingsResource) MarshalJSON() ([]byte, error) { 10281 objectMap := make(map[string]interface{}) 10282 if tsr.Throughput != nil { 10283 objectMap["throughput"] = tsr.Throughput 10284 } 10285 if tsr.AutoscaleSettings != nil { 10286 objectMap["autoscaleSettings"] = tsr.AutoscaleSettings 10287 } 10288 return json.Marshal(objectMap) 10289} 10290 10291// ThroughputSettingsUpdateParameters parameters to update Cosmos DB resource throughput. 10292type ThroughputSettingsUpdateParameters struct { 10293 // ThroughputSettingsUpdateProperties - Properties to update Azure Cosmos DB resource throughput. 10294 *ThroughputSettingsUpdateProperties `json:"properties,omitempty"` 10295 // ID - READ-ONLY; The unique resource identifier of the ARM resource. 10296 ID *string `json:"id,omitempty"` 10297 // Name - READ-ONLY; The name of the ARM resource. 10298 Name *string `json:"name,omitempty"` 10299 // Type - READ-ONLY; The type of Azure resource. 10300 Type *string `json:"type,omitempty"` 10301 // Location - The location of the resource group to which the resource belongs. 10302 Location *string `json:"location,omitempty"` 10303 Tags map[string]*string `json:"tags"` 10304} 10305 10306// MarshalJSON is the custom marshaler for ThroughputSettingsUpdateParameters. 10307func (tsup ThroughputSettingsUpdateParameters) MarshalJSON() ([]byte, error) { 10308 objectMap := make(map[string]interface{}) 10309 if tsup.ThroughputSettingsUpdateProperties != nil { 10310 objectMap["properties"] = tsup.ThroughputSettingsUpdateProperties 10311 } 10312 if tsup.Location != nil { 10313 objectMap["location"] = tsup.Location 10314 } 10315 if tsup.Tags != nil { 10316 objectMap["tags"] = tsup.Tags 10317 } 10318 return json.Marshal(objectMap) 10319} 10320 10321// UnmarshalJSON is the custom unmarshaler for ThroughputSettingsUpdateParameters struct. 10322func (tsup *ThroughputSettingsUpdateParameters) UnmarshalJSON(body []byte) error { 10323 var m map[string]*json.RawMessage 10324 err := json.Unmarshal(body, &m) 10325 if err != nil { 10326 return err 10327 } 10328 for k, v := range m { 10329 switch k { 10330 case "properties": 10331 if v != nil { 10332 var throughputSettingsUpdateProperties ThroughputSettingsUpdateProperties 10333 err = json.Unmarshal(*v, &throughputSettingsUpdateProperties) 10334 if err != nil { 10335 return err 10336 } 10337 tsup.ThroughputSettingsUpdateProperties = &throughputSettingsUpdateProperties 10338 } 10339 case "id": 10340 if v != nil { 10341 var ID string 10342 err = json.Unmarshal(*v, &ID) 10343 if err != nil { 10344 return err 10345 } 10346 tsup.ID = &ID 10347 } 10348 case "name": 10349 if v != nil { 10350 var name string 10351 err = json.Unmarshal(*v, &name) 10352 if err != nil { 10353 return err 10354 } 10355 tsup.Name = &name 10356 } 10357 case "type": 10358 if v != nil { 10359 var typeVar string 10360 err = json.Unmarshal(*v, &typeVar) 10361 if err != nil { 10362 return err 10363 } 10364 tsup.Type = &typeVar 10365 } 10366 case "location": 10367 if v != nil { 10368 var location string 10369 err = json.Unmarshal(*v, &location) 10370 if err != nil { 10371 return err 10372 } 10373 tsup.Location = &location 10374 } 10375 case "tags": 10376 if v != nil { 10377 var tags map[string]*string 10378 err = json.Unmarshal(*v, &tags) 10379 if err != nil { 10380 return err 10381 } 10382 tsup.Tags = tags 10383 } 10384 } 10385 } 10386 10387 return nil 10388} 10389 10390// ThroughputSettingsUpdateProperties properties to update Azure Cosmos DB resource throughput. 10391type ThroughputSettingsUpdateProperties struct { 10392 // Resource - The standard JSON format of a resource throughput 10393 Resource *ThroughputSettingsResource `json:"resource,omitempty"` 10394} 10395 10396// TrackedResource the resource model definition for an Azure Resource Manager tracked top level resource 10397// which has 'tags' and a 'location' 10398type TrackedResource struct { 10399 // Tags - Resource tags. 10400 Tags map[string]*string `json:"tags"` 10401 // Location - The geo-location where the resource lives 10402 Location *string `json:"location,omitempty"` 10403 // ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} 10404 ID *string `json:"id,omitempty"` 10405 // Name - READ-ONLY; The name of the resource 10406 Name *string `json:"name,omitempty"` 10407 // Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" 10408 Type *string `json:"type,omitempty"` 10409} 10410 10411// MarshalJSON is the custom marshaler for TrackedResource. 10412func (tr TrackedResource) MarshalJSON() ([]byte, error) { 10413 objectMap := make(map[string]interface{}) 10414 if tr.Tags != nil { 10415 objectMap["tags"] = tr.Tags 10416 } 10417 if tr.Location != nil { 10418 objectMap["location"] = tr.Location 10419 } 10420 return json.Marshal(objectMap) 10421} 10422 10423// UniqueKey the unique key on that enforces uniqueness constraint on documents in the collection in the 10424// Azure Cosmos DB service. 10425type UniqueKey struct { 10426 // Paths - List of paths must be unique for each document in the Azure Cosmos DB service 10427 Paths *[]string `json:"paths,omitempty"` 10428} 10429 10430// UniqueKeyPolicy the unique key policy configuration for specifying uniqueness constraints on documents 10431// in the collection in the Azure Cosmos DB service. 10432type UniqueKeyPolicy struct { 10433 // UniqueKeys - List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. 10434 UniqueKeys *[]UniqueKey `json:"uniqueKeys,omitempty"` 10435} 10436 10437// Usage the usage data for a usage request. 10438type Usage struct { 10439 // Unit - The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond', 'UnitTypeMilliseconds' 10440 Unit UnitType `json:"unit,omitempty"` 10441 // Name - READ-ONLY; The name information for the metric. 10442 Name *MetricName `json:"name,omitempty"` 10443 // QuotaPeriod - READ-ONLY; The quota period used to summarize the usage values. 10444 QuotaPeriod *string `json:"quotaPeriod,omitempty"` 10445 // Limit - READ-ONLY; Maximum value for this metric 10446 Limit *int64 `json:"limit,omitempty"` 10447 // CurrentValue - READ-ONLY; Current value for this metric 10448 CurrentValue *int64 `json:"currentValue,omitempty"` 10449} 10450 10451// MarshalJSON is the custom marshaler for Usage. 10452func (u Usage) MarshalJSON() ([]byte, error) { 10453 objectMap := make(map[string]interface{}) 10454 if u.Unit != "" { 10455 objectMap["unit"] = u.Unit 10456 } 10457 return json.Marshal(objectMap) 10458} 10459 10460// UsagesResult the response to a list usage request. 10461type UsagesResult struct { 10462 autorest.Response `json:"-"` 10463 // Value - READ-ONLY; The list of usages for the database. A usage is a point in time metric 10464 Value *[]Usage `json:"value,omitempty"` 10465} 10466 10467// MarshalJSON is the custom marshaler for UsagesResult. 10468func (ur UsagesResult) MarshalJSON() ([]byte, error) { 10469 objectMap := make(map[string]interface{}) 10470 return json.Marshal(objectMap) 10471} 10472 10473// VirtualNetworkRule virtual Network ACL Rule object 10474type VirtualNetworkRule struct { 10475 // ID - Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. 10476 ID *string `json:"id,omitempty"` 10477 // IgnoreMissingVNetServiceEndpoint - Create firewall rule before the virtual network has vnet service endpoint enabled. 10478 IgnoreMissingVNetServiceEndpoint *bool `json:"ignoreMissingVNetServiceEndpoint,omitempty"` 10479} 10480