Class: Google::Cloud::Dns::Change
- Inherits:
 - 
      Object
      
        
- Object
 - Google::Cloud::Dns::Change
 
 
- Defined in:
 - lib/google/cloud/dns/change.rb,
lib/google/cloud/dns/change/list.rb 
Overview
DNS Change
Represents a request containing additions or deletions or records. Additions and deletions can be done in bulk, in a single atomic transaction, and take effect at the same time in each authoritative DNS server.
Defined Under Namespace
Classes: List
Instance Method Summary collapse
- 
  
    
      #additions  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The records added in this change request.
 - 
  
    
      #deletions  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The records removed in this change request.
 - 
  
    
      #done?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Checks if the status is
"done". - 
  
    
      #id  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Unique identifier for the resource; defined by the server.
 - 
  
    
      #pending?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Checks if the status is
"pending". - 
  
    
      #reload!  ⇒ Object 
    
    
      (also: #refresh!)
    
  
  
  
  
  
  
  
  
  
    
Reloads the change with updated status from the DNS service.
 - 
  
    
      #started_at  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The time that this operation was started by the server.
 - 
  
    
      #status  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Status of the operation.
 - 
  
    
      #wait_until_done!  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Refreshes the change until the status is
done. 
Instance Method Details
#additions ⇒ Object
The records added in this change request.
      66 67 68  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 66 def additions Array(@gapi.additions).map { |gapi| Record.from_gapi gapi } end  | 
  
#deletions ⇒ Object
The records removed in this change request.
      73 74 75  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 73 def deletions Array(@gapi.deletions).map { |gapi| Record.from_gapi gapi } end  | 
  
#done? ⇒ Boolean
Checks if the status is "done".
      86 87 88 89  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 86 def done? return false if status.nil? "done".casecmp(status).zero? end  | 
  
#id ⇒ Object
Unique identifier for the resource; defined by the server.
      59 60 61  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 59 def id @gapi.id end  | 
  
#pending? ⇒ Boolean
Checks if the status is "pending".
      93 94 95 96  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 93 def pending? return false if status.nil? "pending".casecmp(status).zero? end  | 
  
#reload! ⇒ Object Also known as: refresh!
Reloads the change with updated status from the DNS service.
      109 110 111 112  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 109 def reload! ensure_service! @gapi = zone.service.get_change @zone.id, id end  | 
  
#started_at ⇒ Object
The time that this operation was started by the server.
      101 102 103 104 105  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 101 def started_at Time.parse @gapi.start_time rescue StandardError nil end  | 
  
#status ⇒ Object
Status of the operation. Values are "done" and "pending".
      80 81 82  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 80 def status @gapi.status end  | 
  
#wait_until_done! ⇒ Object
Refreshes the change until the status is done.
The delay between refreshes will incrementally increase.
      129 130 131 132 133 134 135 136 137  | 
    
      # File 'lib/google/cloud/dns/change.rb', line 129 def wait_until_done! backoff = ->(retries) { sleep 2 * retries + 5 } retries = 0 until done? backoff.call retries retries += 1 reload! end end  |