@@ -20,6 +20,131 @@ module Network.Google.DNS.Types.Product where
2020import Network.Google.DNS.Types.Sum
2121import Network.Google.Prelude
2222
23+--
24+-- /See:/ 'operationDNSKeyContext' smart constructor.
25+data OperationDNSKeyContext = OperationDNSKeyContext'
26+ { _odkcOldValue :: !(Maybe DNSKey)
27+ , _odkcNewValue :: !(Maybe DNSKey)
28+ } deriving (Eq,Show,Data,Typeable,Generic)
29+
30+-- | Creates a value of 'OperationDNSKeyContext' with the minimum fields required to make a request.
31+--
32+-- Use one of the following lenses to modify other fields as desired:
33+--
34+-- * 'odkcOldValue'
35+--
36+-- * 'odkcNewValue'
37+operationDNSKeyContext
38+ :: OperationDNSKeyContext
39+operationDNSKeyContext =
40+ OperationDNSKeyContext'
41+ { _odkcOldValue = Nothing
42+ , _odkcNewValue = Nothing
43+ }
44+
45+-- | The pre-operation DnsKey resource.
46+odkcOldValue :: Lens' OperationDNSKeyContext (Maybe DNSKey)
47+odkcOldValue
48+ = lens _odkcOldValue (\ s a -> s{_odkcOldValue = a})
49+
50+-- | The post-operation DnsKey resource.
51+odkcNewValue :: Lens' OperationDNSKeyContext (Maybe DNSKey)
52+odkcNewValue
53+ = lens _odkcNewValue (\ s a -> s{_odkcNewValue = a})
54+
55+instance FromJSON OperationDNSKeyContext where
56+ parseJSON
57+ = withObject "OperationDNSKeyContext"
58+ (\ o ->
59+ OperationDNSKeyContext' <$>
60+ (o .:? "oldValue") <*> (o .:? "newValue"))
61+
62+instance ToJSON OperationDNSKeyContext where
63+ toJSON OperationDNSKeyContext'{..}
64+ = object
65+ (catMaybes
66+ [("oldValue" .=) <$> _odkcOldValue,
67+ ("newValue" .=) <$> _odkcNewValue])
68+
69+-- | The response to a request to enumerate DnsKeys in a ManagedZone.
70+--
71+-- /See:/ 'dnsKeysListResponse' smart constructor.
72+data DNSKeysListResponse = DNSKeysListResponse'
73+ { _dklrNextPageToken :: !(Maybe Text)
74+ , _dklrDNSKeys :: !(Maybe [DNSKey])
75+ , _dklrKind :: !Text
76+ , _dklrHeader :: !(Maybe ResponseHeader)
77+ } deriving (Eq,Show,Data,Typeable,Generic)
78+
79+-- | Creates a value of 'DNSKeysListResponse' with the minimum fields required to make a request.
80+--
81+-- Use one of the following lenses to modify other fields as desired:
82+--
83+-- * 'dklrNextPageToken'
84+--
85+-- * 'dklrDNSKeys'
86+--
87+-- * 'dklrKind'
88+--
89+-- * 'dklrHeader'
90+dnsKeysListResponse
91+ :: DNSKeysListResponse
92+dnsKeysListResponse =
93+ DNSKeysListResponse'
94+ { _dklrNextPageToken = Nothing
95+ , _dklrDNSKeys = Nothing
96+ , _dklrKind = "dns#dnsKeysListResponse"
97+ , _dklrHeader = Nothing
98+ }
99+
100+-- | The presence of this field indicates that there exist more results
101+-- following your last page of results in pagination order. To fetch them,
102+-- make another list request using this value as your pagination token. In
103+-- this way you can retrieve the complete contents of even very large
104+-- collections one page at a time. However, if the contents of the
105+-- collection change between the first and last paginated list request, the
106+-- set of all elements returned will be an inconsistent view of the
107+-- collection. There is no way to retrieve a \"snapshot\" of collections
108+-- larger than the maximum page size.
109+dklrNextPageToken :: Lens' DNSKeysListResponse (Maybe Text)
110+dklrNextPageToken
111+ = lens _dklrNextPageToken
112+ (\ s a -> s{_dklrNextPageToken = a})
113+
114+-- | The requested resources.
115+dklrDNSKeys :: Lens' DNSKeysListResponse [DNSKey]
116+dklrDNSKeys
117+ = lens _dklrDNSKeys (\ s a -> s{_dklrDNSKeys = a}) .
118+ _Default
119+ . _Coerce
120+
121+-- | Type of resource.
122+dklrKind :: Lens' DNSKeysListResponse Text
123+dklrKind = lens _dklrKind (\ s a -> s{_dklrKind = a})
124+
125+dklrHeader :: Lens' DNSKeysListResponse (Maybe ResponseHeader)
126+dklrHeader
127+ = lens _dklrHeader (\ s a -> s{_dklrHeader = a})
128+
129+instance FromJSON DNSKeysListResponse where
130+ parseJSON
131+ = withObject "DNSKeysListResponse"
132+ (\ o ->
133+ DNSKeysListResponse' <$>
134+ (o .:? "nextPageToken") <*>
135+ (o .:? "dnsKeys" .!= mempty)
136+ <*> (o .:? "kind" .!= "dns#dnsKeysListResponse")
137+ <*> (o .:? "header"))
138+
139+instance ToJSON DNSKeysListResponse where
140+ toJSON DNSKeysListResponse'{..}
141+ = object
142+ (catMaybes
143+ [("nextPageToken" .=) <$> _dklrNextPageToken,
144+ ("dnsKeys" .=) <$> _dklrDNSKeys,
145+ Just ("kind" .= _dklrKind),
146+ ("header" .=) <$> _dklrHeader])
147+
23148-- | The response to a request to enumerate Changes to a ResourceRecordSets
24149-- collection.
25150--
@@ -28,6 +153,7 @@ data ChangesListResponse = ChangesListResponse'
28153 { _clrNextPageToken :: !(Maybe Text)
29154 , _clrChanges :: !(Maybe [Change])
30155 , _clrKind :: !Text
156+ , _clrHeader :: !(Maybe ResponseHeader)
31157 } deriving (Eq,Show,Data,Typeable,Generic)
32158
33159-- | Creates a value of 'ChangesListResponse' with the minimum fields required to make a request.
@@ -39,6 +165,8 @@ data ChangesListResponse = ChangesListResponse'
39165-- * 'clrChanges'
40166--
41167-- * 'clrKind'
168+--
169+-- * 'clrHeader'
42170changesListResponse
43171 :: ChangesListResponse
44172changesListResponse =
@@ -46,6 +174,7 @@ changesListResponse =
46174 { _clrNextPageToken = Nothing
47175 , _clrChanges = Nothing
48176 , _clrKind = "dns#changesListResponse"
177+ , _clrHeader = Nothing
49178 }
50179
51180-- | The presence of this field indicates that there exist more results
@@ -73,6 +202,10 @@ clrChanges
73202clrKind :: Lens' ChangesListResponse Text
74203clrKind = lens _clrKind (\ s a -> s{_clrKind = a})
75204
205+clrHeader :: Lens' ChangesListResponse (Maybe ResponseHeader)
206+clrHeader
207+ = lens _clrHeader (\ s a -> s{_clrHeader = a})
208+
76209instance FromJSON ChangesListResponse where
77210 parseJSON
78211 = withObject "ChangesListResponse"
@@ -80,7 +213,8 @@ instance FromJSON ChangesListResponse where
80213 ChangesListResponse' <$>
81214 (o .:? "nextPageToken") <*>
82215 (o .:? "changes" .!= mempty)
83− <*> (o .:? "kind" .!= "dns#changesListResponse"))
216+ <*> (o .:? "kind" .!= "dns#changesListResponse")
217+ <*> (o .:? "header"))
84218
85219instance ToJSON ChangesListResponse where
86220 toJSON ChangesListResponse'{..}
@@ -88,7 +222,40 @@ instance ToJSON ChangesListResponse where
88222 (catMaybes
89223 [("nextPageToken" .=) <$> _clrNextPageToken,
90224 ("changes" .=) <$> _clrChanges,
91− Just ("kind" .= _clrKind)])
225+ Just ("kind" .= _clrKind),
226+ ("header" .=) <$> _clrHeader])
227+
228+--
229+-- /See:/ 'managedZonesDeleteResponse' smart constructor.
230+newtype ManagedZonesDeleteResponse = ManagedZonesDeleteResponse'
231+ { _mzdrHeader :: Maybe ResponseHeader
232+ } deriving (Eq,Show,Data,Typeable,Generic)
233+
234+-- | Creates a value of 'ManagedZonesDeleteResponse' with the minimum fields required to make a request.
235+--
236+-- Use one of the following lenses to modify other fields as desired:
237+--
238+-- * 'mzdrHeader'
239+managedZonesDeleteResponse
240+ :: ManagedZonesDeleteResponse
241+managedZonesDeleteResponse =
242+ ManagedZonesDeleteResponse'
243+ { _mzdrHeader = Nothing
244+ }
245+
246+mzdrHeader :: Lens' ManagedZonesDeleteResponse (Maybe ResponseHeader)
247+mzdrHeader
248+ = lens _mzdrHeader (\ s a -> s{_mzdrHeader = a})
249+
250+instance FromJSON ManagedZonesDeleteResponse where
251+ parseJSON
252+ = withObject "ManagedZonesDeleteResponse"
253+ (\ o ->
254+ ManagedZonesDeleteResponse' <$> (o .:? "header"))
255+
256+instance ToJSON ManagedZonesDeleteResponse where
257+ toJSON ManagedZonesDeleteResponse'{..}
258+ = object (catMaybes [("header" .=) <$> _mzdrHeader])
92259
93260-- | A project resource. The project is a top level container for resources
94261-- including Cloud DNS ManagedZones. Projects can be created only in the
@@ -160,6 +327,202 @@ instance ToJSON Project where
160327 ("number" .=) <$> _pNumber,
161328 ("quota" .=) <$> _pQuota])
162329
330+-- | An operation represents a successful mutation performed on a Cloud DNS
331+-- resource. Operations provide: - An audit log of server resource
332+-- mutations. - A way to recover\/retry API calls in the case where the
333+-- response is never received by the caller. Use the caller specified
334+-- client_operation_id.
335+--
336+-- /See:/ 'operation' smart constructor.
337+data Operation = Operation'
338+ { _oStatus :: !(Maybe OperationStatus)
339+ , _oStartTime :: !(Maybe Text)
340+ , _oKind :: !Text
341+ , _oUser :: !(Maybe Text)
342+ , _oId :: !(Maybe Text)
343+ , _oType :: !(Maybe Text)
344+ , _oZoneContext :: !(Maybe OperationManagedZoneContext)
345+ , _oDNSKeyContext :: !(Maybe OperationDNSKeyContext)
346+ } deriving (Eq,Show,Data,Typeable,Generic)
347+
348+-- | Creates a value of 'Operation' with the minimum fields required to make a request.
349+--
350+-- Use one of the following lenses to modify other fields as desired:
351+--
352+-- * 'oStatus'
353+--
354+-- * 'oStartTime'
355+--
356+-- * 'oKind'
357+--
358+-- * 'oUser'
359+--
360+-- * 'oId'
361+--
362+-- * 'oType'
363+--
364+-- * 'oZoneContext'
365+--
366+-- * 'oDNSKeyContext'
367+operation
368+ :: Operation
369+operation =
370+ Operation'
371+ { _oStatus = Nothing
372+ , _oStartTime = Nothing
373+ , _oKind = "dns#operation"
374+ , _oUser = Nothing
375+ , _oId = Nothing
376+ , _oType = Nothing
377+ , _oZoneContext = Nothing
378+ , _oDNSKeyContext = Nothing
379+ }
380+
381+-- | Status of the operation. Can be one of the following: \"PENDING\" or
382+-- \"DONE\" (output only).
383+oStatus :: Lens' Operation (Maybe OperationStatus)
384+oStatus = lens _oStatus (\ s a -> s{_oStatus = a})
385+
386+-- | The time that this operation was started by the server. This is in
387+-- RFC3339 text format (output only).
388+oStartTime :: Lens' Operation (Maybe Text)
389+oStartTime
390+ = lens _oStartTime (\ s a -> s{_oStartTime = a})
391+
392+-- | Identifies what kind of resource this is. Value: the fixed string
393+-- \"dns#operation\".
394+oKind :: Lens' Operation Text
395+oKind = lens _oKind (\ s a -> s{_oKind = a})
396+
397+-- | User who requested the operation, for example: user\'example.com.
398+-- cloud-dns-system for operations automatically done by the system.
399+-- (output only)
400+oUser :: Lens' Operation (Maybe Text)
401+oUser = lens _oUser (\ s a -> s{_oUser = a})
402+
403+-- | Unique identifier for the resource. This is the client_operation_id if
404+-- the client specified it when the mutation was initiated, otherwise, it
405+-- is generated by the server. The name must be 1-63 characters long and
406+-- match the regular expression [-a-z0-9]? (output only)
407+oId :: Lens' Operation (Maybe Text)
408+oId = lens _oId (\ s a -> s{_oId = a})
409+
410+-- | Type of the operation. Operations include insert, update, and delete
411+-- (output only).
412+oType :: Lens' Operation (Maybe Text)
413+oType = lens _oType (\ s a -> s{_oType = a})
414+
415+-- | Only populated if the operation targeted a ManagedZone (output only).
416+oZoneContext :: Lens' Operation (Maybe OperationManagedZoneContext)
417+oZoneContext
418+ = lens _oZoneContext (\ s a -> s{_oZoneContext = a})
419+
420+-- | Only populated if the operation targeted a DnsKey (output only).
421+oDNSKeyContext :: Lens' Operation (Maybe OperationDNSKeyContext)
422+oDNSKeyContext
423+ = lens _oDNSKeyContext
424+ (\ s a -> s{_oDNSKeyContext = a})
425+
426+instance FromJSON Operation where
427+ parseJSON
428+ = withObject "Operation"
429+ (\ o ->
430+ Operation' <$>
431+ (o .:? "status") <*> (o .:? "startTime") <*>
432+ (o .:? "kind" .!= "dns#operation")
433+ <*> (o .:? "user")
434+ <*> (o .:? "id")
435+ <*> (o .:? "type")
436+ <*> (o .:? "zoneContext")
437+ <*> (o .:? "dnsKeyContext"))
438+
439+instance ToJSON Operation where
440+ toJSON Operation'{..}
441+ = object
442+ (catMaybes
443+ [("status" .=) <$> _oStatus,
444+ ("startTime" .=) <$> _oStartTime,
445+ Just ("kind" .= _oKind), ("user" .=) <$> _oUser,
446+ ("id" .=) <$> _oId, ("type" .=) <$> _oType,
447+ ("zoneContext" .=) <$> _oZoneContext,
448+ ("dnsKeyContext" .=) <$> _oDNSKeyContext])
449+
450+-- | Parameters for DnsKey key generation. Used for generating initial keys
451+-- for a new ManagedZone and as default when adding a new DnsKey.
452+--
453+-- /See:/ 'dnsKeySpec' smart constructor.
454+data DNSKeySpec = DNSKeySpec'
455+ { _dksKeyType :: !(Maybe DNSKeySpecKeyType)
456+ , _dksKind :: !Text
457+ , _dksAlgorithm :: !(Maybe DNSKeySpecAlgorithm)
458+ , _dksKeyLength :: !(Maybe (Textual Word32))
459+ } deriving (Eq,Show,Data,Typeable,Generic)
460+
461+-- | Creates a value of 'DNSKeySpec' with the minimum fields required to make a request.
462+--
463+-- Use one of the following lenses to modify other fields as desired:
464+--
465+-- * 'dksKeyType'
466+--
467+-- * 'dksKind'
468+--
469+-- * 'dksAlgorithm'
470+--
471+-- * 'dksKeyLength'
472+dnsKeySpec
473+ :: DNSKeySpec
474+dnsKeySpec =
475+ DNSKeySpec'
476+ { _dksKeyType = Nothing
477+ , _dksKind = "dns#dnsKeySpec"
478+ , _dksAlgorithm = Nothing
479+ , _dksKeyLength = Nothing
480+ }
481+
482+-- | One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING
483+-- have the Secure Entry Point flag set and, when active, will be used to
484+-- sign only resource record sets of type DNSKEY. Otherwise, the Secure
485+-- Entry Point flag will be cleared and this key will be used to sign only
486+-- resource record sets of other types.
487+dksKeyType :: Lens' DNSKeySpec (Maybe DNSKeySpecKeyType)
488+dksKeyType
489+ = lens _dksKeyType (\ s a -> s{_dksKeyType = a})
490+
491+-- | Identifies what kind of resource this is. Value: the fixed string
492+-- \"dns#dnsKeySpec\".
493+dksKind :: Lens' DNSKeySpec Text
494+dksKind = lens _dksKind (\ s a -> s{_dksKind = a})
495+
496+-- | String mnemonic specifying the DNSSEC algorithm of this key.
497+dksAlgorithm :: Lens' DNSKeySpec (Maybe DNSKeySpecAlgorithm)
498+dksAlgorithm
499+ = lens _dksAlgorithm (\ s a -> s{_dksAlgorithm = a})
500+
501+-- | Length of the keys in bits.
502+dksKeyLength :: Lens' DNSKeySpec (Maybe Word32)
503+dksKeyLength
504+ = lens _dksKeyLength (\ s a -> s{_dksKeyLength = a})
505+ . mapping _Coerce
506+
507+instance FromJSON DNSKeySpec where
508+ parseJSON
509+ = withObject "DNSKeySpec"
510+ (\ o ->
511+ DNSKeySpec' <$>
512+ (o .:? "keyType") <*>
513+ (o .:? "kind" .!= "dns#dnsKeySpec")
514+ <*> (o .:? "algorithm")
515+ <*> (o .:? "keyLength"))
516+
517+instance ToJSON DNSKeySpec where
518+ toJSON DNSKeySpec'{..}
519+ = object
520+ (catMaybes
521+ [("keyType" .=) <$> _dksKeyType,
522+ Just ("kind" .= _dksKind),
523+ ("algorithm" .=) <$> _dksAlgorithm,
524+ ("keyLength" .=) <$> _dksKeyLength])
525+
163526-- | An atomic update to a collection of ResourceRecordSets.
164527--
165528-- /See:/ 'change' smart constructor.
@@ -170,6 +533,7 @@ data Change = Change'
170533 , _cKind :: !Text
171534 , _cDeletions :: !(Maybe [ResourceRecordSet])
172535 , _cId :: !(Maybe Text)
536+ , _cIsServing :: !(Maybe Bool)
173537 } deriving (Eq,Show,Data,Typeable,Generic)
174538
175539-- | Creates a value of 'Change' with the minimum fields required to make a request.
@@ -187,6 +551,8 @@ data Change = Change'
187551-- * 'cDeletions'
188552--
189553-- * 'cId'
554+--
555+-- * 'cIsServing'
190556change
191557 :: Change
192558change =
@@ -197,6 +563,7 @@ change =
197563 , _cKind = "dns#change"
198564 , _cDeletions = Nothing
199565 , _cId = Nothing
566+ , _cIsServing = Nothing
200567 }
201568
202569-- | Status of the operation (output only).
@@ -232,6 +599,11 @@ cDeletions
232599cId :: Lens' Change (Maybe Text)
233600cId = lens _cId (\ s a -> s{_cId = a})
234601
602+-- | If the DNS queries for the zone will be served.
603+cIsServing :: Lens' Change (Maybe Bool)
604+cIsServing
605+ = lens _cIsServing (\ s a -> s{_cIsServing = a})
606+
235607instance FromJSON Change where
236608 parseJSON
237609 = withObject "Change"
@@ -241,7 +613,8 @@ instance FromJSON Change where
241613 <*> (o .:? "startTime")
242614 <*> (o .:? "kind" .!= "dns#change")
243615 <*> (o .:? "deletions" .!= mempty)
244− <*> (o .:? "id"))
616+ <*> (o .:? "id")
617+ <*> (o .:? "isServing"))
245618
246619instance ToJSON Change where
247620 toJSON Change'{..}
@@ -251,14 +624,348 @@ instance ToJSON Change where
251624 ("additions" .=) <$> _cAdditions,
252625 ("startTime" .=) <$> _cStartTime,
253626 Just ("kind" .= _cKind),
254− ("deletions" .=) <$> _cDeletions,
255− ("id" .=) <$> _cId])
627+ ("deletions" .=) <$> _cDeletions, ("id" .=) <$> _cId,
628+ ("isServing" .=) <$> _cIsServing])
629+
630+-- | A DNSSEC key pair.
631+--
632+-- /See:/ 'dnsKey' smart constructor.
633+data DNSKey = DNSKey'
634+ { _dkCreationTime :: !(Maybe Text)
635+ , _dkKeyTag :: !(Maybe (Textual Int32))
636+ , _dkKind :: !Text
637+ , _dkDigests :: !(Maybe [DNSKeyDigest])
638+ , _dkPublicKey :: !(Maybe Text)
639+ , _dkAlgorithm :: !(Maybe DNSKeyAlgorithm)
640+ , _dkId :: !(Maybe Text)
641+ , _dkType :: !(Maybe DNSKeyType)
642+ , _dkKeyLength :: !(Maybe (Textual Word32))
643+ , _dkIsActive :: !(Maybe Bool)
644+ , _dkDescription :: !(Maybe Text)
645+ } deriving (Eq,Show,Data,Typeable,Generic)
646+
647+-- | Creates a value of 'DNSKey' with the minimum fields required to make a request.
648+--
649+-- Use one of the following lenses to modify other fields as desired:
650+--
651+-- * 'dkCreationTime'
652+--
653+-- * 'dkKeyTag'
654+--
655+-- * 'dkKind'
656+--
657+-- * 'dkDigests'
658+--
659+-- * 'dkPublicKey'
660+--
661+-- * 'dkAlgorithm'
662+--
663+-- * 'dkId'
664+--
665+-- * 'dkType'
666+--
667+-- * 'dkKeyLength'
668+--
669+-- * 'dkIsActive'
670+--
671+-- * 'dkDescription'
672+dnsKey
673+ :: DNSKey
674+dnsKey =
675+ DNSKey'
676+ { _dkCreationTime = Nothing
677+ , _dkKeyTag = Nothing
678+ , _dkKind = "dns#dnsKey"
679+ , _dkDigests = Nothing
680+ , _dkPublicKey = Nothing
681+ , _dkAlgorithm = Nothing
682+ , _dkId = Nothing
683+ , _dkType = Nothing
684+ , _dkKeyLength = Nothing
685+ , _dkIsActive = Nothing
686+ , _dkDescription = Nothing
687+ }
688+
689+-- | The time that this resource was created in the control plane. This is in
690+-- RFC3339 text format. Output only.
691+dkCreationTime :: Lens' DNSKey (Maybe Text)
692+dkCreationTime
693+ = lens _dkCreationTime
694+ (\ s a -> s{_dkCreationTime = a})
695+
696+-- | The key tag is a non-cryptographic hash of the a DNSKEY resource record
697+-- associated with this DnsKey. The key tag can be used to identify a
698+-- DNSKEY more quickly (but it is not a unique identifier). In particular,
699+-- the key tag is used in a parent zone\'s DS record to point at the DNSKEY
700+-- in this child ManagedZone. The key tag is a number in the range [0,
701+-- 65535] and the algorithm to calculate it is specified in RFC4034
702+-- Appendix B. Output only.
703+dkKeyTag :: Lens' DNSKey (Maybe Int32)
704+dkKeyTag
705+ = lens _dkKeyTag (\ s a -> s{_dkKeyTag = a}) .
706+ mapping _Coerce
707+
708+-- | Identifies what kind of resource this is. Value: the fixed string
709+-- \"dns#dnsKey\".
710+dkKind :: Lens' DNSKey Text
711+dkKind = lens _dkKind (\ s a -> s{_dkKind = a})
712+
713+-- | Cryptographic hashes of the DNSKEY resource record associated with this
714+-- DnsKey. These digests are needed to construct a DS record that points at
715+-- this DNS key. Output only.
716+dkDigests :: Lens' DNSKey [DNSKeyDigest]
717+dkDigests
718+ = lens _dkDigests (\ s a -> s{_dkDigests = a}) .
719+ _Default
720+ . _Coerce
721+
722+-- | Base64 encoded public half of this key. Output only.
723+dkPublicKey :: Lens' DNSKey (Maybe Text)
724+dkPublicKey
725+ = lens _dkPublicKey (\ s a -> s{_dkPublicKey = a})
726+
727+-- | String mnemonic specifying the DNSSEC algorithm of this key. Immutable
728+-- after creation time.
729+dkAlgorithm :: Lens' DNSKey (Maybe DNSKeyAlgorithm)
730+dkAlgorithm
731+ = lens _dkAlgorithm (\ s a -> s{_dkAlgorithm = a})
732+
733+-- | Unique identifier for the resource; defined by the server (output only).
734+dkId :: Lens' DNSKey (Maybe Text)
735+dkId = lens _dkId (\ s a -> s{_dkId = a})
736+
737+-- | One of \"KEY_SIGNING\" or \"ZONE_SIGNING\". Keys of type KEY_SIGNING
738+-- have the Secure Entry Point flag set and, when active, will be used to
739+-- sign only resource record sets of type DNSKEY. Otherwise, the Secure
740+-- Entry Point flag will be cleared and this key will be used to sign only
741+-- resource record sets of other types. Immutable after creation time.
742+dkType :: Lens' DNSKey (Maybe DNSKeyType)
743+dkType = lens _dkType (\ s a -> s{_dkType = a})
744+
745+-- | Length of the key in bits. Specified at creation time then immutable.
746+dkKeyLength :: Lens' DNSKey (Maybe Word32)
747+dkKeyLength
748+ = lens _dkKeyLength (\ s a -> s{_dkKeyLength = a}) .
749+ mapping _Coerce
750+
751+-- | Active keys will be used to sign subsequent changes to the ManagedZone.
752+-- Inactive keys will still be present as DNSKEY Resource Records for the
753+-- use of resolvers validating existing signatures.
754+dkIsActive :: Lens' DNSKey (Maybe Bool)
755+dkIsActive
756+ = lens _dkIsActive (\ s a -> s{_dkIsActive = a})
757+
758+-- | A mutable string of at most 1024 characters associated with this
759+-- resource for the user\'s convenience. Has no effect on the resource\'s
760+-- function.
761+dkDescription :: Lens' DNSKey (Maybe Text)
762+dkDescription
763+ = lens _dkDescription
764+ (\ s a -> s{_dkDescription = a})
765+
766+instance FromJSON DNSKey where
767+ parseJSON
768+ = withObject "DNSKey"
769+ (\ o ->
770+ DNSKey' <$>
771+ (o .:? "creationTime") <*> (o .:? "keyTag") <*>
772+ (o .:? "kind" .!= "dns#dnsKey")
773+ <*> (o .:? "digests" .!= mempty)
774+ <*> (o .:? "publicKey")
775+ <*> (o .:? "algorithm")
776+ <*> (o .:? "id")
777+ <*> (o .:? "type")
778+ <*> (o .:? "keyLength")
779+ <*> (o .:? "isActive")
780+ <*> (o .:? "description"))
781+
782+instance ToJSON DNSKey where
783+ toJSON DNSKey'{..}
784+ = object
785+ (catMaybes
786+ [("creationTime" .=) <$> _dkCreationTime,
787+ ("keyTag" .=) <$> _dkKeyTag,
788+ Just ("kind" .= _dkKind),
789+ ("digests" .=) <$> _dkDigests,
790+ ("publicKey" .=) <$> _dkPublicKey,
791+ ("algorithm" .=) <$> _dkAlgorithm,
792+ ("id" .=) <$> _dkId, ("type" .=) <$> _dkType,
793+ ("keyLength" .=) <$> _dkKeyLength,
794+ ("isActive" .=) <$> _dkIsActive,
795+ ("description" .=) <$> _dkDescription])
796+
797+--
798+-- /See:/ 'operationManagedZoneContext' smart constructor.
799+data OperationManagedZoneContext = OperationManagedZoneContext'
800+ { _omzcOldValue :: !(Maybe ManagedZone)
801+ , _omzcNewValue :: !(Maybe ManagedZone)
802+ } deriving (Eq,Show,Data,Typeable,Generic)
803+
804+-- | Creates a value of 'OperationManagedZoneContext' with the minimum fields required to make a request.
805+--
806+-- Use one of the following lenses to modify other fields as desired:
807+--
808+-- * 'omzcOldValue'
809+--
810+-- * 'omzcNewValue'
811+operationManagedZoneContext
812+ :: OperationManagedZoneContext
813+operationManagedZoneContext =
814+ OperationManagedZoneContext'
815+ { _omzcOldValue = Nothing
816+ , _omzcNewValue = Nothing
817+ }
818+
819+-- | The pre-operation ManagedZone resource.
820+omzcOldValue :: Lens' OperationManagedZoneContext (Maybe ManagedZone)
821+omzcOldValue
822+ = lens _omzcOldValue (\ s a -> s{_omzcOldValue = a})
823+
824+-- | The post-operation ManagedZone resource.
825+omzcNewValue :: Lens' OperationManagedZoneContext (Maybe ManagedZone)
826+omzcNewValue
827+ = lens _omzcNewValue (\ s a -> s{_omzcNewValue = a})
828+
829+instance FromJSON OperationManagedZoneContext where
830+ parseJSON
831+ = withObject "OperationManagedZoneContext"
832+ (\ o ->
833+ OperationManagedZoneContext' <$>
834+ (o .:? "oldValue") <*> (o .:? "newValue"))
835+
836+instance ToJSON OperationManagedZoneContext where
837+ toJSON OperationManagedZoneContext'{..}
838+ = object
839+ (catMaybes
840+ [("oldValue" .=) <$> _omzcOldValue,
841+ ("newValue" .=) <$> _omzcNewValue])
842+
843+-- | Elements common to every response.
844+--
845+-- /See:/ 'responseHeader' smart constructor.
846+newtype ResponseHeader = ResponseHeader'
847+ { _rhOperationId :: Maybe Text
848+ } deriving (Eq,Show,Data,Typeable,Generic)
849+
850+-- | Creates a value of 'ResponseHeader' with the minimum fields required to make a request.
851+--
852+-- Use one of the following lenses to modify other fields as desired:
853+--
854+-- * 'rhOperationId'
855+responseHeader
856+ :: ResponseHeader
857+responseHeader =
858+ ResponseHeader'
859+ { _rhOperationId = Nothing
860+ }
861+
862+-- | For mutating operation requests that completed successfully. This is the
863+-- client_operation_id if the client specified it, otherwise it is
864+-- generated by the server (output only).
865+rhOperationId :: Lens' ResponseHeader (Maybe Text)
866+rhOperationId
867+ = lens _rhOperationId
868+ (\ s a -> s{_rhOperationId = a})
869+
870+instance FromJSON ResponseHeader where
871+ parseJSON
872+ = withObject "ResponseHeader"
873+ (\ o -> ResponseHeader' <$> (o .:? "operationId"))
874+
875+instance ToJSON ResponseHeader where
876+ toJSON ResponseHeader'{..}
877+ = object
878+ (catMaybes [("operationId" .=) <$> _rhOperationId])
879+
880+--
881+-- /See:/ 'managedZoneOperationsListResponse' smart constructor.
882+data ManagedZoneOperationsListResponse = ManagedZoneOperationsListResponse'
883+ { _mzolrNextPageToken :: !(Maybe Text)
884+ , _mzolrKind :: !Text
885+ , _mzolrHeader :: !(Maybe ResponseHeader)
886+ , _mzolrOperations :: !(Maybe [Operation])
887+ } deriving (Eq,Show,Data,Typeable,Generic)
888+
889+-- | Creates a value of 'ManagedZoneOperationsListResponse' with the minimum fields required to make a request.
890+--
891+-- Use one of the following lenses to modify other fields as desired:
892+--
893+-- * 'mzolrNextPageToken'
894+--
895+-- * 'mzolrKind'
896+--
897+-- * 'mzolrHeader'
898+--
899+-- * 'mzolrOperations'
900+managedZoneOperationsListResponse
901+ :: ManagedZoneOperationsListResponse
902+managedZoneOperationsListResponse =
903+ ManagedZoneOperationsListResponse'
904+ { _mzolrNextPageToken = Nothing
905+ , _mzolrKind = "dns#managedZoneOperationsListResponse"
906+ , _mzolrHeader = Nothing
907+ , _mzolrOperations = Nothing
908+ }
909+
910+-- | The presence of this field indicates that there exist more results
911+-- following your last page of results in pagination order. To fetch them,
912+-- make another list request using this value as your page token. In this
913+-- way you can retrieve the complete contents of even very large
914+-- collections one page at a time. However, if the contents of the
915+-- collection change between the first and last paginated list request, the
916+-- set of all elements returned will be an inconsistent view of the
917+-- collection. There is no way to retrieve a consistent snapshot of a
918+-- collection larger than the maximum page size.
919+mzolrNextPageToken :: Lens' ManagedZoneOperationsListResponse (Maybe Text)
920+mzolrNextPageToken
921+ = lens _mzolrNextPageToken
922+ (\ s a -> s{_mzolrNextPageToken = a})
923+
924+-- | Type of resource.
925+mzolrKind :: Lens' ManagedZoneOperationsListResponse Text
926+mzolrKind
927+ = lens _mzolrKind (\ s a -> s{_mzolrKind = a})
928+
929+mzolrHeader :: Lens' ManagedZoneOperationsListResponse (Maybe ResponseHeader)
930+mzolrHeader
931+ = lens _mzolrHeader (\ s a -> s{_mzolrHeader = a})
932+
933+-- | The operation resources.
934+mzolrOperations :: Lens' ManagedZoneOperationsListResponse [Operation]
935+mzolrOperations
936+ = lens _mzolrOperations
937+ (\ s a -> s{_mzolrOperations = a})
938+ . _Default
939+ . _Coerce
940+
941+instance FromJSON ManagedZoneOperationsListResponse
942+ where
943+ parseJSON
944+ = withObject "ManagedZoneOperationsListResponse"
945+ (\ o ->
946+ ManagedZoneOperationsListResponse' <$>
947+ (o .:? "nextPageToken") <*>
948+ (o .:? "kind" .!=
949+ "dns#managedZoneOperationsListResponse")
950+ <*> (o .:? "header")
951+ <*> (o .:? "operations" .!= mempty))
952+
953+instance ToJSON ManagedZoneOperationsListResponse
954+ where
955+ toJSON ManagedZoneOperationsListResponse'{..}
956+ = object
957+ (catMaybes
958+ [("nextPageToken" .=) <$> _mzolrNextPageToken,
959+ Just ("kind" .= _mzolrKind),
960+ ("header" .=) <$> _mzolrHeader,
961+ ("operations" .=) <$> _mzolrOperations])
256962
257963--
258964-- /See:/ 'resourceRecordSetsListResponse' smart constructor.
259965data ResourceRecordSetsListResponse = ResourceRecordSetsListResponse'
260966 { _rrslrNextPageToken :: !(Maybe Text)
261967 , _rrslrKind :: !Text
968+ , _rrslrHeader :: !(Maybe ResponseHeader)
262969 , _rrslrRrSets :: !(Maybe [ResourceRecordSet])
263970 } deriving (Eq,Show,Data,Typeable,Generic)
264971
@@ -270,6 +977,8 @@ data ResourceRecordSetsListResponse = ResourceRecordSetsListResponse'
270977--
271978-- * 'rrslrKind'
272979--
980+-- * 'rrslrHeader'
981+--
273982-- * 'rrslrRrSets'
274983resourceRecordSetsListResponse
275984 :: ResourceRecordSetsListResponse
@@ -277,6 +986,7 @@ resourceRecordSetsListResponse =
277986 ResourceRecordSetsListResponse'
278987 { _rrslrNextPageToken = Nothing
279988 , _rrslrKind = "dns#resourceRecordSetsListResponse"
989+ , _rrslrHeader = Nothing
280990 , _rrslrRrSets = Nothing
281991 }
282992
@@ -299,6 +1009,10 @@ rrslrKind :: Lens' ResourceRecordSetsListResponse Text
2991009rrslrKind
3001010 = lens _rrslrKind (\ s a -> s{_rrslrKind = a})
3011011
1012+rrslrHeader :: Lens' ResourceRecordSetsListResponse (Maybe ResponseHeader)
1013+rrslrHeader
1014+ = lens _rrslrHeader (\ s a -> s{_rrslrHeader = a})
1015+
3021016-- | The resource record set resources.
3031017rrslrRrSets :: Lens' ResourceRecordSetsListResponse [ResourceRecordSet]
3041018rrslrRrSets
@@ -315,6 +1029,7 @@ instance FromJSON ResourceRecordSetsListResponse
3151029 (o .:? "nextPageToken") <*>
3161030 (o .:? "kind" .!=
3171031 "dns#resourceRecordSetsListResponse")
1032+ <*> (o .:? "header")
3181033 <*> (o .:? "rrsets" .!= mempty))
3191034
3201035instance ToJSON ResourceRecordSetsListResponse where
@@ -323,17 +1038,95 @@ instance ToJSON ResourceRecordSetsListResponse where
3231038 (catMaybes
3241039 [("nextPageToken" .=) <$> _rrslrNextPageToken,
3251040 Just ("kind" .= _rrslrKind),
1041+ ("header" .=) <$> _rrslrHeader,
3261042 ("rrsets" .=) <$> _rrslrRrSets])
3271043
1044+--
1045+-- /See:/ 'managedZoneDNSSecConfig' smart constructor.
1046+data ManagedZoneDNSSecConfig = ManagedZoneDNSSecConfig'
1047+ { _mzdscState :: !(Maybe ManagedZoneDNSSecConfigState)
1048+ , _mzdscKind :: !Text
1049+ , _mzdscDefaultKeySpecs :: !(Maybe [DNSKeySpec])
1050+ , _mzdscNonExistence :: !(Maybe ManagedZoneDNSSecConfigNonExistence)
1051+ } deriving (Eq,Show,Data,Typeable,Generic)
1052+
1053+-- | Creates a value of 'ManagedZoneDNSSecConfig' with the minimum fields required to make a request.
1054+--
1055+-- Use one of the following lenses to modify other fields as desired:
1056+--
1057+-- * 'mzdscState'
1058+--
1059+-- * 'mzdscKind'
1060+--
1061+-- * 'mzdscDefaultKeySpecs'
1062+--
1063+-- * 'mzdscNonExistence'
1064+managedZoneDNSSecConfig
1065+ :: ManagedZoneDNSSecConfig
1066+managedZoneDNSSecConfig =
1067+ ManagedZoneDNSSecConfig'
1068+ { _mzdscState = Nothing
1069+ , _mzdscKind = "dns#managedZoneDnsSecConfig"
1070+ , _mzdscDefaultKeySpecs = Nothing
1071+ , _mzdscNonExistence = Nothing
1072+ }
1073+
1074+-- | Specifies whether DNSSEC is enabled, and what mode it is in.
1075+mzdscState :: Lens' ManagedZoneDNSSecConfig (Maybe ManagedZoneDNSSecConfigState)
1076+mzdscState
1077+ = lens _mzdscState (\ s a -> s{_mzdscState = a})
1078+
1079+-- | Identifies what kind of resource this is. Value: the fixed string
1080+-- \"dns#managedZoneDnsSecConfig\".
1081+mzdscKind :: Lens' ManagedZoneDNSSecConfig Text
1082+mzdscKind
1083+ = lens _mzdscKind (\ s a -> s{_mzdscKind = a})
1084+
1085+-- | Specifies parameters that will be used for generating initial DnsKeys
1086+-- for this ManagedZone. Output only while state is not OFF.
1087+mzdscDefaultKeySpecs :: Lens' ManagedZoneDNSSecConfig [DNSKeySpec]
1088+mzdscDefaultKeySpecs
1089+ = lens _mzdscDefaultKeySpecs
1090+ (\ s a -> s{_mzdscDefaultKeySpecs = a})
1091+ . _Default
1092+ . _Coerce
1093+
1094+-- | Specifies the mechanism used to provide authenticated
1095+-- denial-of-existence responses. Output only while state is not OFF.
1096+mzdscNonExistence :: Lens' ManagedZoneDNSSecConfig (Maybe ManagedZoneDNSSecConfigNonExistence)
1097+mzdscNonExistence
1098+ = lens _mzdscNonExistence
1099+ (\ s a -> s{_mzdscNonExistence = a})
1100+
1101+instance FromJSON ManagedZoneDNSSecConfig where
1102+ parseJSON
1103+ = withObject "ManagedZoneDNSSecConfig"
1104+ (\ o ->
1105+ ManagedZoneDNSSecConfig' <$>
1106+ (o .:? "state") <*>
1107+ (o .:? "kind" .!= "dns#managedZoneDnsSecConfig")
1108+ <*> (o .:? "defaultKeySpecs" .!= mempty)
1109+ <*> (o .:? "nonExistence"))
1110+
1111+instance ToJSON ManagedZoneDNSSecConfig where
1112+ toJSON ManagedZoneDNSSecConfig'{..}
1113+ = object
1114+ (catMaybes
1115+ [("state" .=) <$> _mzdscState,
1116+ Just ("kind" .= _mzdscKind),
1117+ ("defaultKeySpecs" .=) <$> _mzdscDefaultKeySpecs,
1118+ ("nonExistence" .=) <$> _mzdscNonExistence])
1119+
3281120-- | A unit of data that will be returned by the DNS servers.
3291121--
3301122-- /See:/ 'resourceRecordSet' smart constructor.
3311123data ResourceRecordSet = ResourceRecordSet'
332− { _rrsTtl :: !(Maybe (Textual Int32))
333− , _rrsKind :: !Text
334− , _rrsName :: !(Maybe Text)
335− , _rrsType :: !(Maybe Text)
336− , _rrsRrDatas :: !(Maybe [Text])
1124+ { _rrsTtl :: !(Maybe (Textual Int32))
1125+ , _rrsKind :: !Text
1126+ , _rrsSignatureRrDatas :: !(Maybe [Text])
1127+ , _rrsName :: !(Maybe Text)
1128+ , _rrsType :: !(Maybe Text)
1129+ , _rrsRrDatas :: !(Maybe [Text])
3371130 } deriving (Eq,Show,Data,Typeable,Generic)
3381131
3391132-- | Creates a value of 'ResourceRecordSet' with the minimum fields required to make a request.
@@ -344,6 +1137,8 @@ data ResourceRecordSet = ResourceRecordSet'
3441137--
3451138-- * 'rrsKind'
3461139--
1140+-- * 'rrsSignatureRrDatas'
1141+--
3471142-- * 'rrsName'
3481143--
3491144-- * 'rrsType'
@@ -355,6 +1150,7 @@ resourceRecordSet =
3551150 ResourceRecordSet'
3561151 { _rrsTtl = Nothing
3571152 , _rrsKind = "dns#resourceRecordSet"
1153+ , _rrsSignatureRrDatas = Nothing
3581154 , _rrsName = Nothing
3591155 , _rrsType = Nothing
3601156 , _rrsRrDatas = Nothing
@@ -372,6 +1168,14 @@ rrsTtl
3721168rrsKind :: Lens' ResourceRecordSet Text
3731169rrsKind = lens _rrsKind (\ s a -> s{_rrsKind = a})
3741170
1171+-- | As defined in RFC 4034 (section 3.2).
1172+rrsSignatureRrDatas :: Lens' ResourceRecordSet [Text]
1173+rrsSignatureRrDatas
1174+ = lens _rrsSignatureRrDatas
1175+ (\ s a -> s{_rrsSignatureRrDatas = a})
1176+ . _Default
1177+ . _Coerce
1178+
3751179-- | For example, www.example.com.
3761180rrsName :: Lens' ResourceRecordSet (Maybe Text)
3771181rrsName = lens _rrsName (\ s a -> s{_rrsName = a})
@@ -395,6 +1199,7 @@ instance FromJSON ResourceRecordSet where
3951199 ResourceRecordSet' <$>
3961200 (o .:? "ttl") <*>
3971201 (o .:? "kind" .!= "dns#resourceRecordSet")
1202+ <*> (o .:? "signatureRrdatas" .!= mempty)
3981203 <*> (o .:? "name")
3991204 <*> (o .:? "type")
4001205 <*> (o .:? "rrdatas" .!= mempty))
@@ -404,6 +1209,7 @@ instance ToJSON ResourceRecordSet where
4041209 = object
4051210 (catMaybes
4061211 [("ttl" .=) <$> _rrsTtl, Just ("kind" .= _rrsKind),
1212+ ("signatureRrdatas" .=) <$> _rrsSignatureRrDatas,
4071213 ("name" .=) <$> _rrsName, ("type" .=) <$> _rrsType,
4081214 ("rrdatas" .=) <$> _rrsRrDatas])
4091215
@@ -420,6 +1226,7 @@ data ManagedZone = ManagedZone'
4201226 , _mzId :: !(Maybe (Textual Word64))
4211227 , _mzDNSName :: !(Maybe Text)
4221228 , _mzDescription :: !(Maybe Text)
1229+ , _mzDNSsecConfig :: !(Maybe ManagedZoneDNSSecConfig)
4231230 , _mzNameServers :: !(Maybe [Text])
4241231 } deriving (Eq,Show,Data,Typeable,Generic)
4251232
@@ -441,6 +1248,8 @@ data ManagedZone = ManagedZone'
4411248--
4421249-- * 'mzDescription'
4431250--
1251+-- * 'mzDNSsecConfig'
1252+--
4441253-- * 'mzNameServers'
4451254managedZone
4461255 :: ManagedZone
@@ -453,6 +1262,7 @@ managedZone =
4531262 , _mzId = Nothing
4541263 , _mzDNSName = Nothing
4551264 , _mzDescription = Nothing
1265+ , _mzDNSsecConfig = Nothing
4561266 , _mzNameServers = Nothing
4571267 }
4581268
@@ -477,7 +1287,7 @@ mzNameServerSet
4771287 (\ s a -> s{_mzNameServerSet = a})
4781288
4791289-- | User assigned name for this resource. Must be unique within the project.
480−-- The name must be 1-32 characters long, must begin with a letter, end
1290+-- The name must be 1-63 characters long, must begin with a letter, end
4811291-- with a letter or digit, and only contain lowercase letters, digits or
4821292-- dashes.
4831293mzName :: Lens' ManagedZone (Maybe Text)
@@ -502,6 +1312,12 @@ mzDescription
5021312 = lens _mzDescription
5031313 (\ s a -> s{_mzDescription = a})
5041314
1315+-- | DNSSEC configuration.
1316+mzDNSsecConfig :: Lens' ManagedZone (Maybe ManagedZoneDNSSecConfig)
1317+mzDNSsecConfig
1318+ = lens _mzDNSsecConfig
1319+ (\ s a -> s{_mzDNSsecConfig = a})
1320+
5051321-- | Delegate your managed_zone to these virtual name servers; defined by the
5061322-- server (output only)
5071323mzNameServers :: Lens' ManagedZone [Text]
@@ -523,6 +1339,7 @@ instance FromJSON ManagedZone where
5231339 <*> (o .:? "id")
5241340 <*> (o .:? "dnsName")
5251341 <*> (o .:? "description")
1342+ <*> (o .:? "dnssecConfig")
5261343 <*> (o .:? "nameServers" .!= mempty))
5271344
5281345instance ToJSON ManagedZone where
@@ -535,6 +1352,7 @@ instance ToJSON ManagedZone where
5351352 ("name" .=) <$> _mzName, ("id" .=) <$> _mzId,
5361353 ("dnsName" .=) <$> _mzDNSName,
5371354 ("description" .=) <$> _mzDescription,
1355+ ("dnssecConfig" .=) <$> _mzDNSsecConfig,
5381356 ("nameServers" .=) <$> _mzNameServers])
5391357
5401358-- | Limits associated with a Project.
@@ -542,12 +1360,14 @@ instance ToJSON ManagedZone where
5421360-- /See:/ 'quota' smart constructor.
5431361data Quota = Quota'
5441362 { _qRrSetDeletionsPerChange :: !(Maybe (Textual Int32))
1363+ , _qWhiteListedKeySpecs :: !(Maybe [DNSKeySpec])
5451364 , _qRrSetsPerManagedZone :: !(Maybe (Textual Int32))
5461365 , _qKind :: !Text
5471366 , _qResourceRecordsPerRrSet :: !(Maybe (Textual Int32))
5481367 , _qRrSetAdditionsPerChange :: !(Maybe (Textual Int32))
5491368 , _qManagedZones :: !(Maybe (Textual Int32))
5501369 , _qTotalRrDataSizePerChange :: !(Maybe (Textual Int32))
1370+ , _qDNSKeysPerManagedZone :: !(Maybe (Textual Int32))
5511371 } deriving (Eq,Show,Data,Typeable,Generic)
5521372
5531373-- | Creates a value of 'Quota' with the minimum fields required to make a request.
@@ -556,6 +1376,8 @@ data Quota = Quota'
5561376--
5571377-- * 'qRrSetDeletionsPerChange'
5581378--
1379+-- * 'qWhiteListedKeySpecs'
1380+--
5591381-- * 'qRrSetsPerManagedZone'
5601382--
5611383-- * 'qKind'
@@ -567,17 +1389,21 @@ data Quota = Quota'
5671389-- * 'qManagedZones'
5681390--
5691391-- * 'qTotalRrDataSizePerChange'
1392+--
1393+-- * 'qDNSKeysPerManagedZone'
5701394quota
5711395 :: Quota
5721396quota =
5731397 Quota'
5741398 { _qRrSetDeletionsPerChange = Nothing
1399+ , _qWhiteListedKeySpecs = Nothing
5751400 , _qRrSetsPerManagedZone = Nothing
5761401 , _qKind = "dns#quota"
5771402 , _qResourceRecordsPerRrSet = Nothing
5781403 , _qRrSetAdditionsPerChange = Nothing
5791404 , _qManagedZones = Nothing
5801405 , _qTotalRrDataSizePerChange = Nothing
1406+ , _qDNSKeysPerManagedZone = Nothing
5811407 }
5821408
5831409-- | Maximum allowed number of ResourceRecordSets to delete per
@@ -588,6 +1414,14 @@ qRrSetDeletionsPerChange
5881414 (\ s a -> s{_qRrSetDeletionsPerChange = a})
5891415 . mapping _Coerce
5901416
1417+-- | DNSSEC algorithm and key length types that can be used for DnsKeys.
1418+qWhiteListedKeySpecs :: Lens' Quota [DNSKeySpec]
1419+qWhiteListedKeySpecs
1420+ = lens _qWhiteListedKeySpecs
1421+ (\ s a -> s{_qWhiteListedKeySpecs = a})
1422+ . _Default
1423+ . _Coerce
1424+
5911425-- | Maximum allowed number of ResourceRecordSets per zone in the project.
5921426qRrSetsPerManagedZone :: Lens' Quota (Maybe Int32)
5931427qRrSetsPerManagedZone
@@ -630,18 +1464,27 @@ qTotalRrDataSizePerChange
6301464 (\ s a -> s{_qTotalRrDataSizePerChange = a})
6311465 . mapping _Coerce
6321466
1467+-- | Maximum allowed number of DnsKeys per ManagedZone.
1468+qDNSKeysPerManagedZone :: Lens' Quota (Maybe Int32)
1469+qDNSKeysPerManagedZone
1470+ = lens _qDNSKeysPerManagedZone
1471+ (\ s a -> s{_qDNSKeysPerManagedZone = a})
1472+ . mapping _Coerce
1473+
6331474instance FromJSON Quota where
6341475 parseJSON
6351476 = withObject "Quota"
6361477 (\ o ->
6371478 Quota' <$>
6381479 (o .:? "rrsetDeletionsPerChange") <*>
639− (o .:? "rrsetsPerManagedZone")
1480+ (o .:? "whitelistedKeySpecs" .!= mempty)
1481+ <*> (o .:? "rrsetsPerManagedZone")
6401482 <*> (o .:? "kind" .!= "dns#quota")
6411483 <*> (o .:? "resourceRecordsPerRrset")
6421484 <*> (o .:? "rrsetAdditionsPerChange")
6431485 <*> (o .:? "managedZones")
644− <*> (o .:? "totalRrdataSizePerChange"))
1486+ <*> (o .:? "totalRrdataSizePerChange")
1487+ <*> (o .:? "dnsKeysPerManagedZone"))
6451488
6461489instance ToJSON Quota where
6471490 toJSON Quota'{..}
@@ -649,6 +1492,7 @@ instance ToJSON Quota where
6491492 (catMaybes
6501493 [("rrsetDeletionsPerChange" .=) <$>
6511494 _qRrSetDeletionsPerChange,
1495+ ("whitelistedKeySpecs" .=) <$> _qWhiteListedKeySpecs,
6521496 ("rrsetsPerManagedZone" .=) <$>
6531497 _qRrSetsPerManagedZone,
6541498 Just ("kind" .= _qKind),
@@ -658,13 +1502,62 @@ instance ToJSON Quota where
6581502 _qRrSetAdditionsPerChange,
6591503 ("managedZones" .=) <$> _qManagedZones,
6601504 ("totalRrdataSizePerChange" .=) <$>
661− _qTotalRrDataSizePerChange])
1505+ _qTotalRrDataSizePerChange,
1506+ ("dnsKeysPerManagedZone" .=) <$>
1507+ _qDNSKeysPerManagedZone])
1508+
1509+--
1510+-- /See:/ 'dnsKeyDigest' smart constructor.
1511+data DNSKeyDigest = DNSKeyDigest'
1512+ { _dkdDigest :: !(Maybe Text)
1513+ , _dkdType :: !(Maybe DNSKeyDigestType)
1514+ } deriving (Eq,Show,Data,Typeable,Generic)
1515+
1516+-- | Creates a value of 'DNSKeyDigest' with the minimum fields required to make a request.
1517+--
1518+-- Use one of the following lenses to modify other fields as desired:
1519+--
1520+-- * 'dkdDigest'
1521+--
1522+-- * 'dkdType'
1523+dnsKeyDigest
1524+ :: DNSKeyDigest
1525+dnsKeyDigest =
1526+ DNSKeyDigest'
1527+ { _dkdDigest = Nothing
1528+ , _dkdType = Nothing
1529+ }
1530+
1531+-- | The base-16 encoded bytes of this digest. Suitable for use in a DS
1532+-- resource record.
1533+dkdDigest :: Lens' DNSKeyDigest (Maybe Text)
1534+dkdDigest
1535+ = lens _dkdDigest (\ s a -> s{_dkdDigest = a})
1536+
1537+-- | Specifies the algorithm used to calculate this digest.
1538+dkdType :: Lens' DNSKeyDigest (Maybe DNSKeyDigestType)
1539+dkdType = lens _dkdType (\ s a -> s{_dkdType = a})
1540+
1541+instance FromJSON DNSKeyDigest where
1542+ parseJSON
1543+ = withObject "DNSKeyDigest"
1544+ (\ o ->
1545+ DNSKeyDigest' <$>
1546+ (o .:? "digest") <*> (o .:? "type"))
1547+
1548+instance ToJSON DNSKeyDigest where
1549+ toJSON DNSKeyDigest'{..}
1550+ = object
1551+ (catMaybes
1552+ [("digest" .=) <$> _dkdDigest,
1553+ ("type" .=) <$> _dkdType])
6621554
6631555--
6641556-- /See:/ 'managedZonesListResponse' smart constructor.
6651557data ManagedZonesListResponse = ManagedZonesListResponse'
6661558 { _mzlrNextPageToken :: !(Maybe Text)
6671559 , _mzlrKind :: !Text
1560+ , _mzlrHeader :: !(Maybe ResponseHeader)
6681561 , _mzlrManagedZones :: !(Maybe [ManagedZone])
6691562 } deriving (Eq,Show,Data,Typeable,Generic)
6701563
@@ -676,6 +1569,8 @@ data ManagedZonesListResponse = ManagedZonesListResponse'
6761569--
6771570-- * 'mzlrKind'
6781571--
1572+-- * 'mzlrHeader'
1573+--
6791574-- * 'mzlrManagedZones'
6801575managedZonesListResponse
6811576 :: ManagedZonesListResponse
@@ -683,6 +1578,7 @@ managedZonesListResponse =
6831578 ManagedZonesListResponse'
6841579 { _mzlrNextPageToken = Nothing
6851580 , _mzlrKind = "dns#managedZonesListResponse"
1581+ , _mzlrHeader = Nothing
6861582 , _mzlrManagedZones = Nothing
6871583 }
6881584
@@ -704,6 +1600,10 @@ mzlrNextPageToken
7041600mzlrKind :: Lens' ManagedZonesListResponse Text
7051601mzlrKind = lens _mzlrKind (\ s a -> s{_mzlrKind = a})
7061602
1603+mzlrHeader :: Lens' ManagedZonesListResponse (Maybe ResponseHeader)
1604+mzlrHeader
1605+ = lens _mzlrHeader (\ s a -> s{_mzlrHeader = a})
1606+
7071607-- | The managed zone resources.
7081608mzlrManagedZones :: Lens' ManagedZonesListResponse [ManagedZone]
7091609mzlrManagedZones
@@ -719,6 +1619,7 @@ instance FromJSON ManagedZonesListResponse where
7191619 ManagedZonesListResponse' <$>
7201620 (o .:? "nextPageToken") <*>
7211621 (o .:? "kind" .!= "dns#managedZonesListResponse")
1622+ <*> (o .:? "header")
7221623 <*> (o .:? "managedZones" .!= mempty))
7231624
7241625instance ToJSON ManagedZonesListResponse where
@@ -727,4 +1628,5 @@ instance ToJSON ManagedZonesListResponse where
7271628 (catMaybes
7281629 [("nextPageToken" .=) <$> _mzlrNextPageToken,
7291630 Just ("kind" .= _mzlrKind),
1631+ ("header" .=) <$> _mzlrHeader,
7301632 ("managedZones" .=) <$> _mzlrManagedZones])