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 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 |